Generatore di migrazioni di database — differenza di schema in SQL up / down
Generatore di migrazioni di database
Incolli lo schema attuale a sinistra e lo schema di destinazione a destra — sia come DDL CREATE TABLE sia come JSON dello schema dal Progettista ERD — poi generi uno script in avanti (up) e il relativo script di ripristino (down): tabelle nuove ed eliminate, colonne aggiunte, rimosse e modificate, e modifiche alle chiavi esterne, con la sintassi per MySQL, PostgreSQL, SQL Server, SQLite, Oracle o SQL standard. Nulla viene caricato; il confronto viene eseguito nel suo browser.
1 — Prima (schema attuale)
2 — Dopo (schema di destinazione)
3 — Genera la migrazione
Le istruzioni sono raggruppate per tabella; verifichi l'output prima di eseguirlo.
Nessuna differenza ancora generata.
Ambito: si tratta di un confronto strutturale di tabelle, colonne, chiavi primarie, nullabilità, valori predefiniti e chiavi esterne. Indici, trigger, viste e riempimenti dei dati sono fuori ambito e vanno aggiunti a mano. SQLite non può modificare una colonna sul posto, quindi tali modifiche vengono emesse come commento che chiede di ricreare la tabella.
Che cos'è una migrazione di database?
Una migrazione è uno script con versione che modifica lo schema di un database: crea questa tabella, aggiunge quella colonna, elimina un indice. I team applicano le migrazioni in ordine, così ogni ambiente — sviluppo, staging, produzione — percorre la stessa strada da una versione all'altra invece di essere modificato a mano in forme che non corrispondono più al codice. Ogni migrazione è normalmente composta da due parti: up applica la modifica, down la annulla, così una release difettosa può essere ripristinata nello stesso modo in cui è entrata.
Le migrazioni che eliminano tabelle o colonne sono distruttive — lo script down non può recuperare i dati cancellati. Faccia un backup (o almeno esporti le tabelle interessate) prima di eseguire una migrazione che rimuove qualcosa.