| Zeile 15: |
Zeile 15: |
| | | | |
| | In dem Fall läuft dann tatsächlich nur [[Postgres]]. Will man doch ein bisschen arbeiten, könnte folgender Befehl passen: | | 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" | + | npx supabase start --exclude "realtime,storage-api,imgproxy,inbucket,pgadmin-schema-diff" |
| | + | |
| | + | <code>gotrue</code> ist für den API-Key notwendig. Dieser wird beim Start von supabase sonst nicht angezeigt. |
| | | | |
| | Mit | | Mit |
| Zeile 25: |
Zeile 27: |
| | npx supabase login | | npx supabase login |
| | npx supabase link | | 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 |
| | + | |
| | + | == Troubleshooting == |
| | + | |
| | + | === Zugriff auf eigenes Schema / Namespace === |
| | + | |
| | + | Siehe https://stackoverflow.com/questions/73281996/how-to-access-custom-schema-from-supabase-js-client |
| | + | |
| | + | Da es die API Settings im lokalen Supabase wohl nicht gibt, muss man durch [https://github.com/orgs/supabase/discussions/6682 einen Workaround das Schema freigeben]: |
| | + | |
| | + | alter role authenticator set pgrst.db_schemas = 'public, storage, sharebudget'; |
| | + | select pg_notify('pgrst', 'reload config'); |
| | + | select pg_notify('pgrst', 'reload schema'); |
| | + | |
| | + | Beim Nutzen von supabase db diff ist es dann meist sinnvoll, den --schema (-s)-Parameter zu setzen. |
| | + | |
| | + | Siehe zur lokalen Entwicklung mit Schema auch: https://github.com/orgs/supabase/discussions/10428 |
| | | | |
| | == Backup der Postgres-Database == | | == Backup der Postgres-Database == |