Сравнение структур двух баз по выгрузкам

Сопоставить таблицы, колонки, типы и ограничения из метаданных; сформировать отчёт без выполнения миграций.

Рабочая область

Сопоставить таблицы, колонки, типы и ограничения из метаданных; сформировать отчёт без выполнения миграций.

Обработка на устройстве. Файлы и значения полей не отправляются в аналитику. Ctrl/Cmd + Enter — запуск.

Загрузка локальной обработки…

Настройки и локальный проект

Рецепт настроек не содержит исходных файлов. Проект очереди содержит проверяемые записи: храните его на своём устройстве. Автоматического сохранения нет.

Метод и ограничения выбранного режима

Схемы из выгрузок связываются по таблице и колонке. Тип, nullable и текст ограничений сравниваются как предоставленные метаданные. Отчёт не исполняет SQL, DDL или миграции и не подключается к базе.

Точные ключи сохраняют текстовые ID и ведущие нули. Пустые ключи требуют проверки. Нечёткие алгоритмы — до 200 000 пар / 5000 кандидатов с ручным подтверждением; оценка сходства не является вероятностью. ISO-время требует явной зоны. Никакие внешние системы не изменяются.

Методика и примеры

Сравнение структур двух баз по выгрузкам

Схемы из выгрузок связываются по таблице и колонке. Тип, nullable и текст ограничений сравниваются как предоставленные метаданные. Отчёт не исполняет SQL, DDL или миграции и не подключается к базе.

Ограничения

Точные ключи сохраняют текстовые ID и ведущие нули. Пустые ключи требуют проверки. Нечёткие алгоритмы — до 200 000 пар / 5000 кандидатов с ручным подтверждением; оценка сходства не является вероятностью. ISO-время требует явной зоны. Никакие внешние системы не изменяются.

Проверяемый пример

Входные данные примера
table;column;type;nullable;constraint
users;id;int;no;primary
users;name;text;yes;
СтатусКлючСтрока AСтрока BПолеЗначение AЗначение B
измененаusers · id22typeintbigint
удаленаusers · name3["users","name","text","yes",""]
добавленаusers · email3["users","email","text","no","unique"]

Источники метода

Следующая задача