Генератор миграций базы данных — разница схем в SQL up / down
Генератор миграций базы данных
Вставьте текущую схему слева и целевую справа — либо как DDL CREATE TABLE, либо как JSON схемы из Конструктора ERD — затем создайте прямой скрипт (up) и соответствующий откат (down): новые и удалённые таблицы, добавленные, удалённые и изменённые столбцы, а также изменения внешних ключей, оформленные для MySQL, PostgreSQL, SQL Server, SQLite, Oracle или стандартного SQL. Ничего не загружается; сравнение выполняется в вашем браузере.
1 — До (текущая схема)
2 — После (целевая схема)
3 — Создать миграцию
Операторы группируются по таблицам; проверьте вывод перед запуском.
Разница ещё не создана.
Область: это структурное сравнение таблиц, столбцов, первичных ключей, допустимости NULL, значений по умолчанию и внешних ключей. Индексы, триггеры, представления и заполнение данных вне области и добавляются вручную. SQLite не умеет изменять столбец на месте, поэтому такие изменения выводятся как комментарий с просьбой пересоздать таблицу.
Что такое миграция базы данных?
Миграция — это версионированный скрипт, который меняет схему базы данных: создать эту таблицу, добавить тот столбец, удалить индекс. Команды применяют миграции по порядку, чтобы каждое окружение — dev, staging, production — проходило один и тот же путь от версии к версии, а не редактировалось вручную до форм, которые больше не соответствуют коду. Каждая миграция обычно состоит из двух частей: up применяет изменение, down его отменяет, поэтому неудачный релиз можно откатить тем же путём, каким он был выкатен.
Миграции, которые удаляют таблицы или столбцы, разрушительны — скрипт down не может вернуть удалённые данные. Сделайте резервную копию (или хотя бы экспорт затронутых таблиц) перед запуском миграции, которая что-то удаляет.