Porównanie schematów SQL
Porównaj dwa schematy CREATE TABLE i wygeneruj migrację ALTER TABLE między nimi.
Porównanie schematów SQL
Wklej obecny schemat po lewej stronie i schemat, który chcesz osiągnąć po prawej, a to narzędzie napisze migrację między nimi. Porównuje instrukcje CREATE TABLE tabela po tabeli i kolumna po kolumnie, a następnie generuje instrukcje CREATE TABLE, DROP TABLE, ADD COLUMN, DROP COLUMN i ALTER COLUMN potrzebne do przekształcenia pierwszego schematu w drugi — przydatne podczas przeglądania zmiany schematu, ręcznego pisania pliku migracji lub sprawdzenia tego, co rzeczywiście zrobiło narzędzie do generowania schematów.
Wybierz bazę danych z opcji Baza danych — PostgreSQL, MySQL lub SQLite — ponieważ każda písze zmiane kolumn inaczej: PostgreSQL używa ALTER COLUMN ... TYPE i SET/DROP NOT NULL, MySQL łączy typ i nullability w jedną instrukcję MODIFY COLUMN, a SQLite w ogóle nie ma ALTER COLUMN, więc te przypadki są oznaczane jako wymagające przebudowy tabeli. Uwzględnij zmiany indeksów, aby także porównywać instrukcje CREATE INDEX, zawiń wyjście w transakcję i włącz opcję cofnięcia dla drugiej migracji w odwrotnej kolejności dołączonej poniżej pierwszej.
Upuszczenie tabeli lub kolumny, zawężenie typu lub dodanie NOT NULL może wyrzucić dane lub nie powieść się dla wierszy, które nie pasują do nowego ograniczenia. Z opcją "Ostrzegaj przed utratą danych" włączoną każdy taki krok jest oznaczony w wynikach, więc łatwo go dostrzec przed uruchomieniem czegokolwiek na rzeczywistej bazie danych. Tabele, które się nawzajem odwołują za pośrednictwem klucza obcego, są tworzone i usuwane w kolejności zależności, więc skrypt nie zawiedzie na tabeli, której potrzebował jako pierwszy.
Wszystko działa lokalnie w Twojej przeglądarce — Twoje schematy nigdy nigdzie nie są wgrywane, więc bezpiecznie jest wklejać rzeczywiste definicje tabel z prywatnej bazy danych. Skopiuj migrację, pobierz ją jako plik .txt lub wyślij wyjście z powrotem do wejścia, aby dalej go udoskonalać.