Remote Database Reset
Kommando for aa nullstille en remote Supabase-database fullstendig — inkludert auth-brukere, public schema, migrasjonshistorikk og seed-data.
# Nullstill staging (bekrefter foer kjoring)pnpm db:reset:remote staging
# Nullstill production (krever --force + ekstra bekreftelse)pnpm db:reset:remote production --forceHva den gjoer
heading.anchorLabel| Steg | Handling | Hvorfor |
|---|---|---|
| 1 | Linker til remote Supabase-prosjekt | Henter project ref fra Doppler |
| 2 | DROP SCHEMA public CASCADE | Sletter alle app-tabeller |
| 3 | TRUNCATE auth.* | Sletter alle brukere, sessions, tokens, identities |
| 4 | Toemmer supabase_migrations + seed_files | Slik at push re-kjoerer alt |
| 5 | supabase db push --include-seed | Re-kjoerer alle migrasjoner + seed.sql |
| 6 | Verifiserer antall tabeller/brukere/profiler | Bekrefter at reset var vellykket |
| 7 | Re-linker til lokal | Gjenoppretter supabase link til lokalt prosjekt |
Etter reset
heading.anchorLabelDatabasen inneholder kun seed-data:
| Bruker | Tier | Passord | |
|---|---|---|---|
| Trial | trial@test.rm | trial | password123 |
| Foundation | foundation@test.rm | foundation | password123 |
| Mastery | mastery@test.rm | mastery | password123 |
| Partner | partner@test.rm | partner | password123 |
| Cancelled | cancelled@test.rm | cancelled mastery | password123 |
| Expired | expired@test.rm | expired foundation | password123 |
Referansedata som ogsaa seedes:
- subscription_config: 4 tier-konfigurasjoner (trial, foundation, mastery, partner)
- areas: 8 livsomraader (career, health, relationships, etc.)
- layers: 4 lag (physical, emotional, mental, spiritual)
Forutsetninger
heading.anchorLabel- Doppler CLI installert og innlogget (
doppler login) - Supabase CLI installert (
brew install supabase/tap/supabase) - Tilgang til Doppler-prosjektet
immed configstgellerprd
Sikkerhet
heading.anchorLabel- Staging: Krever
y-bekreftelse foer kjoering - Production: Krever
--force-flagg OG manuell skriving avyes-delete-production - Scriptet re-linker alltid tilbake til lokalt prosjekt etter kjoering
Filer
heading.anchorLabel| Fil | Rolle |
|---|---|
packages/database/scripts/reset-remote.sh | Orkestreringsscript (link → reset → push → verify → unlink) |
packages/database/scripts/reset-remote.sql | SQL som dropper public + auth + migrasjonshistorikk |
packages/database/supabase/seed.sql | Test-brukere, referansedata, eksempel-impulser |
Vanlige problemer
heading.anchorLabel”Seed files are up to date”
heading.anchorLabelSeed kjoerer ikke fordi Supabase cacher en hash av seed-filen. Scriptet haandterer dette automatisk ved aa toemmme supabase_migrations.seed_files-tabellen. Hvis du likevel ser dette, kjoer manuelt:
supabase db query --linked "DELETE FROM supabase_migrations.seed_files;"supabase db push --linked --include-seedAuth-brukere overlevde reset
heading.anchorLabelSkjer hvis du kun dropper public schema uten aa truncate auth.*. Bruk alltid pnpm db:reset:remote som haandterer begge.
Profiler mangler etter innlogging
heading.anchorLabelTriggeren on_auth_user_created kjoerer kun paa nye auth-brukere. Hvis auth-brukere finnes fra foer uten matchende profil, fungerer ikke innlogging. Full reset (inkl. auth) loeser dette.
Forskjell fra lokal reset
heading.anchorLabelpnpm db:reset | pnpm db:reset:remote staging | |
|---|---|---|
| Scope | Lokal Docker-Supabase | Remote Supabase-prosjekt |
| Auth | Haandteres av supabase db reset | Eksplisitt TRUNCATE auth.* |
| Seed | Automatisk | Via --include-seed + seed hash-clearing |
| Redis | Flusher lokale throttle-keys | Ikke inkludert (Railway Redis) |
| Migrasjoner | Re-kjoerer automatisk | Krever migration history clearing |