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.
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 list | Deine Projekte, nach Organisation. |
| espobase projects create <name> --org <slug> | Ein neues Projekt (seine Datenbank ist gleich eingerichtet). |
| espobase link <ref> / unlink | Verknü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 list | Welche 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 list | Deine 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 open | Das verknüpfte Projekt im Dashboard. |
| espobase whoami / logout | Das 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 pushlehnt 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-destructiveund 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 pushwendet deine Migrationsdateien an undfunctions deployveröffentlicht Edge Functions unddeploygehostete 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 logoutausführst oder sie unter Kontoeinstellungen › Entwickler › Verbundene Apps trennst. Tokens werden so gespeichert, dass nur du sie lesen kannst.