DOCUMENTATION

CLI Espobase

Travaillez sur vos projets depuis le terminal : liez un dossier à un projet, générez des types TypeScript, lancez des requêtes en lecture seule et consultez les journaux et l'utilisation. Nécessite Node.js 20 ou une version ultérieure.

← Toute la documentation

Premiers pas

npx espobase login   # opens your browser: sign in and click Allow
npx espobase init    # link this folder, write espobase.types.ts, show your app's settings

Ou installez-la une fois avec npm install -g espobase et lancez espobase ….

Commandes

espobase loginOuvre votre navigateur : connectez-vous à Espobase et autorisez l'accès. Sur les serveurs, utilisez --token espo_pat_….
espobase init [<ref>]Lie ce dossier à un projet, écrit espobase.types.ts et affiche l'ESPOBASE_URL de votre app.
espobase projects listVos projets, par organisation.
espobase projects create <name> --org <slug>Un nouveau projet (sa base de données est prête en un instant).
espobase link <ref> / unlinkLie ce dossier à un projet (.espobase/project.json, que vous pouvez commiter sans risque).
espobase gen types [--out <file>]Types TypeScript pour createClient<Database>() dans @espobase/client.
espobase db query "<sql>"SQL en lecture seule : SELECT, EXPLAIN, SHOW…
espobase migration new <name>Un nouveau fichier SQL dans espobase/migrations, nommé d'après l'heure UTC actuelle.
espobase migration listQuels fichiers de migration sont appliqués, en attente ou modifiés.
espobase db push [--dry-run]Applique dans l'ordre les fichiers de migration en attente, chacun dans une transaction. --dry-run les vérifie puis annule tout.
espobase logs [--errors]Requêtes API récentes : chemin, statut, durée (jamais les corps de requête ni les secrets).
espobase usage [--range 7d]Requêtes, bande passante, stockage de base de données et de fichiers, utilisation de l'IA.
espobase storage ls [<bucket>]Vos buckets, ou les fichiers de l'un d'eux.
espobase deploy <dossier> --site <adresse>Publie un dossier de build sur un site hébergé et le met en ligne (nécessite l'autorisation Déployer des sites). `--message`, `--no-activate`.
espobase sites listVos sites hébergés et leurs adresses.
espobase ai propose "<request>"Un plan de modification du schéma (SQL et risque) que vous relisez et appliquez dans le tableau de bord.
espobase openLe projet lié, dans le tableau de bord.
espobase whoami / logoutLe compte connecté ; déconnexion (et révocation de l'accès).

Chaque commande accepte --json pour les scripts et --project <ref> pour utiliser un autre projet que celui qui est lié.

Migrations

Gardez votre schéma dans votre dépôt : écrivez chaque modification dans un fichier SQL, relisez-la comme du code et envoyez-la vers un projet depuis votre terminal ou votre CI.

npx espobase migration new create_dishes
# write the SQL in espobase/migrations/20261005143000_create_dishes.sql
npx espobase db push --dry-run   # runs it, then rolls everything back
npx espobase db push             # applies it
  • Les fichiers s'exécutent dans l'ordre des versions, une fois chacun. Espobase enregistre la version, le nom, la somme de contrôle, qui et quand ; votre SQL reste dans votre dépôt.
  • Chaque fichier s'exécute dans une transaction avec son enregistrement : il est appliqué entièrement ou pas du tout. Si l'un échoue, l'envoi s'arrête là et indique le fichier et la ligne.
  • Ne modifiez pas un fichier déjà appliqué : écrivez-en un nouveau. db push refuse les fichiers modifiés et ceux plus anciens que le dernier appliqué.
  • Les nouvelles tables ont la sécurité au niveau des lignes activée. Ajoutez leurs politiques dans le même fichier pour que votre app puisse y accéder.
  • Les règles de l'éditeur SQL s'appliquent : les développeurs peuvent modifier les données et le schéma ; les politiques, les GRANT et les autres changements de droits nécessitent un administrateur. Les instructions destructrices (DROP, TRUNCATE, DELETE sans WHERE…) nécessitent --allow-destructive et un administrateur.
  • L'envoi nécessite l'autorisation Apply migrations (database:write) : demandée à la connexion, ou choisie quand vous créez un token pour la CI. En CI, ajoutez --yes.

CI et serveurs

Créez un jeton d'accès personnel dans le tableau de bord (Paramètres du compte › Développeur) avec uniquement les scopes nécessaires à la tâche, et passez-le dans ESPOBASE_TOKEN :

ESPOBASE_TOKEN=espo_pat_… npx espobase gen types --project <ref>
ESPOBASE_TOKEN=espo_pat_… npx espobase db push --yes --project <ref>

Ce que la CLI peut et ne peut pas faire

  • Elle agit en votre nom, avec votre rôle, sur les projets auxquels vous avez accès.
  • Elle ne modifie un projet qu'avec des autorisations explicites : db push applique vos fichiers de migration et functions deploy déploie des edge functions et deploy publie des sites hébergés. Le reste du SQL est en lecture seule, et les modifications de schéma de l'IA sont des propositions que vous appliquez dans le tableau de bord.
  • Elle ne récupère jamais de mots de passe de base de données ni de clés d'API.
  • La connexion via le navigateur dure jusqu'à ce que vous lanciez espobase logout ou que vous la déconnectiez dans Paramètres du compte › Développeur › Applications connectées. Les jetons sont stockés de façon à n'être lisibles que par vous.