Creating Fresh Prisma Baseline
Procedura tworzenia nowego baseline migracji — gdy historia migracji jest rozsynchronizowana ze schematem w bazie danych.
Kiedy użyć: Gdy prisma migrate status pokazuje niespójności lub po serii db push które ominęły system migracji.
Bezpieczeństwo
Ta procedura NIE modyfikuje tabel z danymi. Zmienia tylko:
- Pliki migracji w repozytorium (lokalne)
- Tabelę _prisma_migrations w DB (tracking table — Prisma wewnętrznie)
Zero ryzyka utraty danych użytkowników.
Krok po kroku
1. Weryfikacja — schemat DB = schema.prisma
npm run db:pull:development > /tmp/db_schema.prisma
diff <(grep -v '^//' prisma/schema.prisma | grep -v '^$') <(grep -v '^//' /tmp/db_schema.prisma | grep -v '^$')
rm /tmp/db_schema.prisma
Jeśli diff jest pusty (lub różnice tylko w komentarzach/formatowaniu/kolejności kolumn) — OK. Jeśli są różnice w kolumnach/tabelach — STOP, najpierw rozwiąż niezgodności.
2. Usuń stare migracje (lokalnie)
3. Wygeneruj nowy baseline z aktualnego schematu
Tworzy prisma/migrations/0_init/migration.sql z aktualnego schema.prisma.
Uwaga: Komenda wymaga
dotenv(ładuje.env.development), boprisma.config.tswaliduje env vars przy starcie. Jeśli plikmigration.sqljest pusty (0 bajtów) po uruchomieniu — komenda się nie powiodła. Sprawdź output w terminalu.
4. Wyczyść historię migracji w DB
To czyści TYLKO tabelę trackingową Prismy (która migracja była applied). Nie dotyka tabel z danymi.
5. Oznacz baseline jako applied
Prisma dopisze rekord: "migracja 0_init jest już zaaplikowana" — nie będzie próbowała jej uruchomić.
6. Weryfikacja
Oczekiwany wynik: 1 migracja, status "applied", brak pending.
Build musi przejść bez błędów.
7. Commit
git add prisma/migrations/
git commit -m "chore: prisma baseline — clean migration history matching production schema"
Utworzono: 2026-02-16