Generátor migrácie databázy

Vloží sa aktuálna schéma vľavo a cieľová schéma vpravo — buď ako DDL CREATE TABLE, alebo ako JSON schémy z Návrhára ERD — potom sa vygeneruje skript dopredu (up) a zodpovedajúci skript späťvrátenia (down): nové a odstránené tabuľky, pridané, odstránené a zmenené stĺpce a zmeny cudzích kľúčov, s úvodzovkami pre MySQL, PostgreSQL, SQL Server, SQLite, Oracle alebo štandardné SQL. Nič sa nenahráva; porovnanie prebieha v prehliadači.
1 — Pred zmenou (aktuálna schéma)
2 — Po zmene (cieľová schéma)
3 — Vygenerovať migráciu
Príkazy sú zoskupené podľa tabuliek; výstup sa pred spustením treba skontrolovať.
Porovnanie ešte nebolo vygenerované.
Rozsah: ide o štrukturálne porovnanie tabuliek, stĺpcov, primárnych kľúčov, prípustnosti hodnoty NULL, predvolených hodnôt a cudzích kľúčov. Indexy, spúšťače, pohľady a dodatočné dopĺňanie údajov sú mimo rozsahu a treba ich pridať ručne. SQLite nedokáže stĺpec zmeniť na mieste, preto sa takéto zmeny vydajú ako komentár, ktorý žiada tabuľku znova vytvoriť.
Čo je migrácia databázy?

Migrácia je verzovaný skript, ktorý mení schému databázy: vytvorí túto tabuľku, pridá ten stĺpec, odstráni index. Tímy aplikujú migrácie v poradí, aby každé prostredie — vývojové, testovacie, produkčné — prechádzalo rovnakou cestou od verzie k verzii a nebolo ručne upravované do tvarov, ktoré už nezodpovedajú kódu. Každá migrácia sa zvyčajne dodáva v dvoch častiach: up zmenu aplikuje, down ju zruší, takže zlé vydanie sa dá vrátiť rovnakým spôsobom, akým vstúpilo.

Migrácie, ktoré odstraňujú tabuľky alebo stĺpce, sú deštruktívne — skript späťvrátenia nedokáže obnoviť zmazané dáta. Pred spustením migrácie, ktorá čokoľvek odstraňuje, treba zálohovať (alebo aspoň exportovať dotknuté tabuľky).