Supabase: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 30: Zeile 30:
 
   npx supabase db remote commit
 
   npx supabase db remote commit
 
   npx supabase db reset
 
   npx supabase db reset
 +
 +
=== Änderungen der lokalen Umgebung in die Hosted Database ===
 +
 +
 +
Zunächst Änderungen in der lokalen Datenbank vornehmen und dann
 +
diese Änderung in einer "Migration" speichern:
 +
  npx supabase db diff --file $DIFF_FILE_NAME
 +
 +
Schließlich diese Migration auf supabase.com "pushen":
 +
  npx supabase db push --dry-run
 +
  npx supabase db push
  
 
== Backup der Postgres-Database ==
 
== Backup der Postgres-Database ==

Version vom 26. Februar 2023, 07:51 Uhr

Supabase ist ein Cloud-Service, der insbesondere eine Postgres-Datenbank beinhaltet, aber auch Storage und Serverless Functions.


Laufenlassen auf dem lokalen Rechner

Supabase läuft (fast) genauso wie in der hosted Version auf supabase.com auch auf dem lokalen Rechner.

Es lässt sich z.B. mit npx folgendermaßen starten

 npx supabase start

Dann richtet es etliche Docker-Container ein, auch manche die man nicht braucht. Man kann die Container, die man nicht braucht, mit der --exclude-Option deaktivieren. Dazu setzt man alle nicht benötigten Container ohne Leerzeichen, aber mit Kommata getrennt hinter die Option:

 npx supabase start --exclude "gotrue,realtime,storage-api,imgproxy,kong,inbucket,postgrest,pgadmin-schema-diff,migra,postgres-meta,studio,deno-relay"

In dem Fall läuft dann tatsächlich nur Postgres. Will man doch ein bisschen arbeiten, könnte folgender Befehl passen:

 npx supabase start --exclude "gotrue,realtime,storage-api,imgproxy,inbucket,pgadmin-schema-diff"

Mit

 npx supabase stop

hält man die lokalen Container an.

Verbindung mit hosted Supabase

 npx supabase login
 npx supabase link

Übernehmen des Inhalts der Remote-Database in die lokale Umgebung

 npx supabase db remote commit
 npx supabase db reset

Änderungen der lokalen Umgebung in die Hosted Database

Zunächst Änderungen in der lokalen Datenbank vornehmen und dann diese Änderung in einer "Migration" speichern:

 npx supabase db diff --file $DIFF_FILE_NAME

Schließlich diese Migration auf supabase.com "pushen":

 npx supabase db push --dry-run
 npx supabase db push

Backup der Postgres-Database

Zum Backup nutzt man das Standard-Postgres-Tool pg_dump.

Siehe

Serverless Functions

Bei Supabase heißen die Serverless Functions "Edge Functions". Es sind Funktionen, die in TypeScript geschrieben werden und in der Nodejs-Alternative Deno laufen.

Daneben sind die normalen Postgres-Funktionen auch möglich. Sie sind aus Performance-Gründen bei Daten-gestützten Aufgaben zu bevorzugen. Siehe dazu

Siehe zu Edge Functions: