Generator migracji bazy danych

Wklej obecny schemat po lewej i docelowy schemat po prawej — jako DDL CREATE TABLE albo jako JSON schematu z Projektanta ERD — a następnie wygeneruj skrypt w przód (up) i pasujący skrypt wycofania (down): nowe i usunięte tabele, dodane, usunięte i zmienione kolumny oraz zmiany kluczy obcych, z cytowaniem dla MySQL, PostgreSQL, SQL Server, SQLite, Oracle lub standardowego SQL. Nic nie jest wysyłane; różnica działa w przeglądarce.
1 — Przed (obecny schemat)
2 — Po (docelowy schemat)
3 — Generuj migrację
Instrukcje są pogrupowane według tabeli; przejrzyj wynik przed uruchomieniem.
Nie wygenerowano jeszcze różnicy.
Zakres: to strukturalne porównanie tabel, kolumn, kluczy głównych, dopuszczalności wartości NULL, wartości domyślnych i kluczy obcych. Indeksy, wyzwalacze, widoki i uzupełnianie danych są poza zakresem i trzeba je dodać ręcznie. SQLite nie potrafi zmienić kolumny w miejscu, więc te zmiany są wypisywane jako komentarz z prośbą o odtworzenie tabeli.
Czym jest migracja bazy danych?

Migracja to wersjonowany skrypt zmieniający schemat bazy: utwórz tę tabelę, dodaj tę kolumnę, usuń ten indeks. Zespoły stosują migracje po kolei, dzięki czemu każde środowisko — dev, staging, produkcja — przechodzi tą samą drogą od wersji do wersji, zamiast być ręcznie przerabiane do kształtów, które nie pasują już do kodu. Każda migracja zwykle składa się z dwóch połów: up wprowadza zmianę, down ją odwraca, więc złe wydanie można wycofać tą samą drogą, którą weszło.

Migracje, które usuwają tabele lub kolumny, są niszczące — skrypt down nie przywróci usuniętych danych. Zrób kopię zapasową (albo przynajmniej wyeksportuj dotknięte tabele) przed uruchomieniem migracji, która cokolwiek usuwa.