Migraties
Commit de migratie
Section titled “Commit de migratie”# pas tapedb.schema.ts aan, dannpx tapedb migrate dev --name add_task_prioritymigrate dev vergelijkt het schema met tapedb/schema.snapshot.json en schrijft het volgende genummerde SQL-bestand, dat je net als bij elke ORM reviewt en commit, plus de bundle die worker.ts importeert. De Durable Object van elke workspace past openstaande migraties toe bij de volgende wake, één transactie per migratie, met foreign keys uitgeschakeld eromheen en gecontroleerd voordat hij commit. Een migratie die een rij naar niets zou laten wijzen, draait terug.
Regels
Section titled “Regels”- Een nieuw verplicht veld heeft
.default(...)of.optional()nodig. - Drops hebben
--accept-data-lossnodig; renames hebben--rename old=newof--rename model.old=newnodig, anders lezen ze als een drop plus een add. - Wijzigingen aan type, default of referentie bouwen de tabel opnieuw, inclusief tabellen waarnaar andere tabellen verwijzen: child-rijen behouden hun keys en er cascadeert niets.
- Migraties declareren wat ze wijzigden, zodat herstel logsegmenten en snapshots kan afspelen die onder een ouder schema zijn geschreven. Ongedeclareerde drift faalt gesloten.
Checken en deployen
Section titled “Checken en deployen”migrate status toont de gecommitte migraties en meldt of het schema up to date is. migrate check faalt in CI of een pre-commit hook wanneer het schema wijzigingen heeft zonder migratie. tapedb deploy weigert een dev-configuratie of een ongemigreerd schema te versturen en draait daarna wrangler deploy.
Volgende stap: bestanden, presence en broadcast, of herstel begrijpen.