Que fait neon ?
Connectez-vous à votre base de données Neon Serverless Postgres depuis votre agent IA. Créez des branches, exécutez des requêtes, visualisez des schémas et gérez vos projets Neon directement depuis Claude.
Configuration
-
Configurez votre clé API Neon ou votre chaîne de connexion de base de données en tant que variables d'environnement :
export NEON_API_KEY="your-neon-api-key" export DATABASE_URL="postgresql://user:[email protected]/neondb" -
Assurez-vous que l'outil CLI
neonctlest installé globalement :npm install -g neonctl
Utilisation
Voici quelques exemples de la manière dont vous pouvez utiliser cette compétence :
- Lister les projets :
neonctl projects list - Créer une branche :
neonctl branches create --project-id <project-id> - Exécuter une requête :
psql $DATABASE_URL -c "SELECT * FROM users;" - Inspecter un schéma :
psql $DATABASE_URL -c "\dt"
Commandes principales
| Commande | Description |
|---|---|
neonctl projects list | Lister tous les projets Neon |
neonctl branches list --project-id <id> | Lister les branches d'un projet |
neonctl branches create --project-id <id> | Créer une nouvelle branche |
neonctl branches delete --project-id <id> --branch-id <id> | Supprimer une branche |
neonctl connection-string --project-id <id> --branch-id <id> | Obtenir la chaîne de connexion pour une branche |
neonctl roles list --project-id <id> | Lister les rôles de base de données |
neonctl roles create --project-id <id> --role-name <name> | Créer un nouveau rôle |
neonctl roles delete --project-id <id> --role-name <name> | Supprimer un rôle |
neonctl databases list --project-id <id> | Lister les bases de données |
neonctl databases create --project-id <id> --database-name <name> | Créer une nouvelle base de données |
neonctl databases delete --project-id <id> --database-name <name> | Supprimer une base de données |
psql $DATABASE_URL -c "<sql>" | Exécuter une requête SQL arbitraire |
psql $DATABASE_URL -c "\dt" | Lister les tables du schéma public |
psql $DATABASE_URL -c "\d <table>" | Afficher la structure d'une table |
Exemple concret : Créer une branche de fonctionnalité pour une revue de code
# Obtenir l'ID du projet
neonctl projects list --json | jq -r '.projects[0].id'
# Créer une nouvelle branche à partir de la branche principale
neonctl branches create --project-id "<project-id>" --branch-name "feature/my-new-feature"
# Obtenir la chaîne de connexion pour la branche
neonctl connection-string --project-id "<project-id>" --branch-name "feature/my-new-feature"
# Exécuter la migration et les tests sur la nouvelle branche
DATABASE_URL="<connection-string>" npx prisma migrate deploy
DATABASE_URL="<connection-string>" npm test
# (Optionnel) Supprimer la branche de fonctionnalité après fusion
neonctl branches delete --project-id "<project-id>" --branch-name "feature/my-new-feature"
Dépannage
- Assurez-vous que
NEON_API_KEYest définie et valide. Vous pouvez en générer une depuis la console Neon. - Si la CLI
neonctln'est pas trouvée, installez-la avecnpm install -g neonctl. - Pour des problèmes de connexion, vérifiez votre
DATABASE_URLet les règles de pare-feu/filtrage IP de votre projet Neon.
Sécurité
- Ne commitez jamais vos clés API ou
DATABASE_URLdans le contrôle de version. Utilisez toujours des variables d'environnement. - Le jeton API a le même accès que votre compte utilisateur Neon. Évitez de le partager ou de l'exposer.
- Envisagez d'utiliser des branches de base de données éphémères pour les environnements de développement/staging.
En rapport
Avez-vous trouvé une fonctionnalité manquante ou un bogue ? Veuillez ouvrir un problème dans le dépôt neondatabase/neon.