DOKUMENTATION

Espobase CLI

Arbeite im Terminal mit deinen Projekten: Verknüpfe einen Ordner mit einem Projekt, generiere TypeScript-Typen, führe Lesezugriffe aus und prüfe Logs und Nutzung. Sie benötigt Node.js 20 oder neuer.

← Gesamte Dokumentation

Erste Schritte

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

Oder installiere sie einmal mit npm install -g espobase und führe espobase … aus.

Befehle

espobase loginÖffnet deinen Browser: Melde dich bei Espobase an und erlaube den Zugriff. Auf Servern --token espo_pat_… verwenden.
espobase init [<ref>]Verknüpft diesen Ordner mit einem Projekt, schreibt espobase.types.ts und gibt die ESPOBASE_URL deiner App aus.
espobase projects listDeine Projekte, nach Organisation.
espobase projects create <name> --org <slug>Ein neues Projekt (seine Datenbank ist gleich eingerichtet).
espobase link <ref> / unlinkVerknüpft diesen Ordner mit einem Projekt (.espobase/project.json, kann committet werden).
espobase gen types [--out <file>]TypeScript-Typen für createClient<Database>() in @espobase/client.
espobase db query "<sql>"SQL nur lesend: SELECT, EXPLAIN, SHOW…
espobase migration new <name>Eine neue SQL-Datei in espobase/migrations, benannt nach der aktuellen UTC-Zeit.
espobase migration listWelche Migrationsdateien angewendet, ausstehend oder geändert sind.
espobase db push [--dry-run]Wendet die ausstehenden Migrationsdateien der Reihe nach an, jede in einer Transaktion. --dry-run prüft sie und rollt alles zurück.
espobase logs [--errors]Neueste API-Anfragen: Pfad, Status, Dauer (nie Inhalte oder Geheimnisse).
espobase usage [--range 7d]Anfragen, Bandbreite, Datenbank- und Dateispeicher, KI-Nutzung.
espobase storage ls [<bucket>]Deine Buckets oder die Dateien in einem davon.
espobase deploy <Ordner> --site <Adresse>Veröffentlicht einen Build-Ordner auf einer gehosteten Website und schaltet ihn live (braucht die Berechtigung Websites bereitstellen). `--message`, `--no-activate`.
espobase sites listDeine gehosteten Websites und ihre Adressen.
espobase ai propose "<request>"Ein Plan für eine Schemaänderung (SQL und Risiko), den du im Dashboard prüfst und anwendest.
espobase openDas verknüpfte Projekt im Dashboard.
espobase whoami / logoutDas angemeldete Konto; abmelden (und die Anmeldung widerrufen).

Jeder Befehl akzeptiert --json für Skripte und --project <ref>, um ein anderes als das verknüpfte Projekt zu verwenden.

Migrationen

Halte dein Schema in deinem Repository: Schreib jede Änderung als SQL-Datei, prüf sie wie Code und push sie aus deinem Terminal oder deiner CI in ein Projekt.

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
  • Dateien laufen in Versionsreihenfolge, jede einmal. Espobase speichert Version, Name, Prüfsumme, wer und wann; dein SQL bleibt in deinem Repository.
  • Jede Datei läuft zusammen mit ihrem Eintrag in einer Transaktion: Sie wird ganz oder gar nicht angewendet. Schlägt eine fehl, stoppt der Push dort und zeigt Datei und Zeile.
  • Bearbeite eine Datei nicht mehr, nachdem sie angewendet wurde: Schreib eine neue. db push lehnt geänderte Dateien ab und solche, die älter sind als die neueste angewendete.
  • Neue Tabellen haben Row Level Security eingeschaltet. Leg ihre Richtlinien in derselben Datei an, damit deine App sie erreicht.
  • Es gelten die Regeln des SQL-Editors: Entwickler können Daten und Schema ändern; Richtlinien, GRANTs und andere Rechteänderungen brauchen einen Admin. Destruktive Anweisungen (DROP, TRUNCATE, DELETE ohne WHERE …) brauchen --allow-destructive und einen Admin.
  • Pushen braucht die Berechtigung Apply migrations (database:write): Sie wird bei der Anmeldung abgefragt oder beim Erstellen eines Tokens für die CI gewählt. In der CI ergänzt du --yes.

CI und Server

Erstelle im Dashboard ein persönliches Zugriffstoken (Kontoeinstellungen › Entwickler) mit nur den Berechtigungen, die der Job braucht, und übergib es als ESPOBASE_TOKEN:

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

Was die CLI kann und was nicht

  • Sie handelt als du, mit deiner Rolle, in den Projekten, auf die du Zugriff hast.
  • Sie ändert ein Projekt nur mit ausdrücklichen Berechtigungen: db push wendet deine Migrationsdateien an und functions deploy veröffentlicht Edge Functions und deploy gehostete Websites. Anderes SQL ist schreibgeschützt, und Schemaänderungen der KI sind Vorschläge, die du im Dashboard anwendest.
  • Sie ruft nie Datenbankpasswörter oder API-Schlüssel ab.
  • Die Anmeldung über den Browser gilt, bis du espobase logout ausführst oder sie unter Kontoeinstellungen › Entwickler › Verbundene Apps trennst. Tokens werden so gespeichert, dass nur du sie lesen kannst.