Dokumentace
Centrum nápovědyDevOpsMigrační strategie
docs/cs/05-devops/migration-strategy.md
Migrační strategie (Prisma + Postgres)
Tento dokument definuje bezpečný přístup ke změnám schématu v kontextu multi-tenant SaaS.
Operativní recovery postup pro staging při rozjeté Prisma history je v prisma-drift-recovery-staging.md.
Cíle
- Zachovat integritu dat a izolaci tenantů.
- Umožnit evoluci bez rozbití existujících projektů a auditních stop.
- Mít důvěryhodný rollback/mitigace příběh pro produkční incidenty.
Migrační principy
- Preferovat zpětně kompatibilní migrace:
- nejdřív přidat nové sloupce/tabulky
- nasadit kód, který umí číst starý i nový tvar
- následně uklidit v pozdějších migracích
- Vyhnout se destruktivním změnám bez recovery plánu.
Migrační workflow (konceptuálně)
- 1.Navrhnout změnu schématu s ohledem na tenancy a indexování.
- 2.Napsat migraci pomocí Prisma migrations.
- 3.Ověřit na stagingu s reprezentativním objemem dat.
- 4.Nasadit aplikační kód a aplikovat migrace v kontrolovaném releasu.
- 5.Monitorovat error rate a výkon.
Když se staging rozjede
Pokud se staging databáze a lokální Prisma history rozjedou, nepoužívej improvizovaný reset. Postupuj podle prisma-drift-recovery-staging.md.
Rollback strategie
Protože rollback schématu může být rizikový, OPORA používá vrstvený mitigace přístup:
- Application rollback: návrat na předchozí verzi aplikace, pokud je kompatibilní se schématem.
- Forward-fix: následná migrace, která opraví problém (preferované, když rollback není bezpečný).
- Backups: spolehnout se na DB backupy pro disaster recovery scénáře.
Tenant safety checky
- Každá nová tenant-owned tabulka musí mít
organizationIda vhodné indexy. - Po změnách schématu musí dotazy zůstat org-scoped.
- Validovat, že joiny nezavedou cross-tenant expozici.
Dopady na verzi enginu
Pokud migrace mění uložené reprezentace vstupů/výstupů:
- zachovat schopnost interpretovat historické Projekty
- uložit explicitní verzi enginu a/nebo schema version marker, pokud je potřeba
- zapsat materiální rozhodnutí jako ADR