Сравнение схем SQL
Сравнивайте две схемы CREATE TABLE и получайте миграцию ALTER TABLE между ними.
Сравнение схем SQL
Вставьте текущую схему слева и желаемую схему справа — инструмент создаст миграцию между ними. Он сравнивает CREATE TABLE выражения таблица за таблицей и колонка за колонкой, затем генерирует CREATE TABLE, DROP TABLE, ADD COLUMN, DROP COLUMN и ALTER COLUMN выражения, необходимые для преобразования первой схемы во вторую — полезно для проверки изменения схемы, написания файла миграции вручную или проверки того, что сделал инструмент генерации схемы.
Выберите базу данных из опции Database — PostgreSQL, MySQL или SQLite — так как каждая по-разному пишет изменения колонок: PostgreSQL использует ALTER COLUMN ... TYPE и SET/DROP NOT NULL, MySQL объединяет тип и обязательность в одно выражение MODIFY COLUMN, а SQLite вообще не поддерживает ALTER COLUMN, поэтому такие случаи отмечаются как требующие перестроения таблицы. Включите изменения индексов, чтобы также сравнивать CREATE INDEX выражения, обертните выход в транзакцию и включите опцию отката для второй, обратной миграции, добавленной ниже первой.
Удаление таблицы или колонки, сужение типа или добавление NOT NULL может привести к потере данных или конфликту с существующими строками. При включении "Предупреждать о потере данных" каждый такой шаг отмечается в выводе, чтобы было легко заметить перед запуском против реальной базы данных. Таблицы, которые ссылаются друг на друга через внешний ключ, создаются и удаляются в порядке зависимостей, поэтому скрипт не сломается из-за нужной ему таблицы.
Всё работает локально в вашем браузере — ваши схемы никуда не загружаются, поэтому безопасно вставлять реальные определения таблиц из приватной базы данных. Скопируйте миграцию, загрузите её как .txt файл или отправьте выход обратно во вход для дальнейшей доработки.