Generator de migrații pentru baze de date — diferența de schemă în SQL Up / Down
Generator de migrări de bază de date
Se lipește schema curentă în stânga și schema țintă în dreapta — fie ca DDL CREATE TABLE, fie ca JSON de schemă din Proiectantul ERD — apoi se generează un script înainte (up) și scriptul de revenire corespunzător (down): tabele noi și eliminate, coloane adăugate, eliminate și modificate, plus modificări ale cheilor străine, cu ghilimele pentru MySQL, PostgreSQL, SQL Server, SQLite, Oracle sau SQL standard.
Nimic nu se încarcă; diferența se calculează în browser.
1 — Înainte (schema curentă)
2 — După (schema țintă)
3 — Generarea migrației
Instrucțiunile sunt grupate pe tabel; rezultatul trebuie verificat înainte de rulare.
Nicio diferență generată încă.
Domeniu: aceasta este o diferență structurală a tabelelor, coloanelor, cheilor primare, nulabilității, valorilor implicite și cheilor străine. Indecșii, declanșatoarele, vizualizările și completările de date sunt în afara domeniului și trebuie adăugate manual. SQLite nu poate modifica o coloană pe loc, deci aceste modificări sunt emise ca un comentariu care cere recrearea tabelului.
Ce este o migrație de bază de date?
O migrație este un script versionat care modifică schema unei baze de date: creează acest tabel, adaugă acea coloană, elimină un index. Echipele aplică migrațiile în ordine, astfel încât fiecare mediu — dezvoltare, staging, producție — parcurge aceeași cale de la o versiune la alta, în loc să fie editat manual până ajunge în forme care nu mai corespund codului. Fiecare migrație se livrează de obicei în două jumătăți: up aplică modificarea, down o inversează, astfel încât o versiune defectuoasă poate fi readusă în urmă la fel cum a intrat.
Migrațiile care elimină tabele sau coloane sunt distructive — scriptul down nu poate readuce datele șterse. Se face o copie de rezervă (sau cel puțin o exportare a tabelelor afectate) înainte de a rula o migrație care elimină ceva.