Категории

Сравнение Схемы Базы Данных

Сравнивает две схемы БД и создает черновик миграции

Поддерживает SQL DDL и JSON/YAML описания, показывает изменения таблиц, колонок, индексов и внешних ключей.

Примеры результатов

2 Примеры

Сравнить SQL DDL и подготовить черновик миграции PostgreSQL

Показывает добавление обязательной колонки и индекса, затем формирует SQL миграции.

{
  "summary": {
    "tablesAdded": 0,
    "tablesRemoved": 0,
    "columnsAdded": 1,
    "columnsRemoved": 0,
    "columnsChanged": 0,
    "indexesChanged": 1,
    "foreignKeysChanged": 0,
    "totalChanges": 2
  },
  "migrationSQL": "ALTER TABLE users ADD COLUMN email TEXT NOT NULL;\nCREATE INDEX idx_users_email ON users (email);"
}
Показать параметры ввода
{ "sourceSchema": "CREATE TABLE users (\n id INT PRIMARY KEY,\n name TEXT\n);", "targetSchema": "CREATE TABLE users (\n id INT PRIMARY KEY,\n name TEXT,\n email TEXT NOT NULL\n);\nCREATE INDEX idx_users_email ON users (email);", "schemaFormat": "sql", "dialect": "postgresql" }

Сравнить JSON-схемы с предупреждением для SQLite

Сравнивает JSON-описания со снятием таблицы и колонки и добавляет примечание о пересборке таблицы в SQLite.

{
  "summary": {
    "tablesRemoved": 1,
    "columnsRemoved": 1
  },
  "migrationSQL": "DROP TABLE audit_logs;\n-- SQLite requires table rebuild to drop column users.email"
}
Показать параметры ввода
{ "sourceSchema": "{\n \"tables\": {\n \"users\": {\n \"columns\": {\n \"id\": {\n \"type\": \"INTEGER\",\n \"primaryKey\": true,\n \"nullable\": false\n },\n \"email\": {\n \"type\": \"TEXT\",\n \"nullable\": false\n }\n }\n },\n \"audit_logs\": {\n \"columns\": {\n \"id\": {\n \"type\": \"INTEGER\",\n \"primaryKey\": true,\n \"nullable\": false\n }\n }\n }\n }\n}", "targetSchema": "{\n \"tables\": {\n \"users\": {\n \"columns\": {\n \"id\": {\n \"type\": \"INTEGER\",\n \"primaryKey\": true,\n \"nullable\": false\n }\n }\n }\n }\n}", "schemaFormat": "json", "dialect": "sqlite" }

Ключевые факты

Категория
Development
Типы входных данных
textarea, select
Тип результата
json
Покрытие примерами
4
API доступен
Yes

Обзор

Database Schema Diff сравнивает две схемы базы данных и превращает разницу в отчет, ориентированный на миграции, по таблицам, колонкам, индексам и внешним ключам.

Когда использовать

  • Когда нужно понять, чем одна схема отличается от другой.
  • Когда релиз зависит от точного списка DDL изменений.
  • Когда нужен черновик миграции для MySQL, PostgreSQL или SQLite.
  • Когда изменения схемы проверяются в pull request или документах передачи.

Как это работает

  • Вставьте текущую и целевую схему в формате SQL DDL или JSON/YAML.
  • Инструмент разбирает таблицы, колонки, индексы и внешние ключи.
  • Затем он сравнивает добавления, удаления и изменения.
  • На выходе вы получаете структурированный diff, SQL черновик и данные для визуализации связей.

Сценарии использования

Подготовка продакшн миграции перед релизом.
Проверка, не вносит ли обновление схемы опасные изменения колонок.
Подготовка отчета для handoff между разработкой и DevOps.
Сравнение схем из разных веток или окружений.

Примеры

1. Проверить миграцию схемы перед выкладкой

Backend инженер
Контекст
В ветке сервиса появились новые audit таблицы и изменения в user колонках.
Проблема
Команде нужно заранее понять, что именно изменится в продакшене.
Как использовать
Вставьте текущий и целевой DDL, выберите диалект и изучите diff и SQL черновик.
Пример конфигурации
Формат схемы: Auto Detect. Диалект: PostgreSQL.
Результат
Команда получает понятный отчет по таблицам, колонкам, индексам и внешним ключам.

Проверить на примерах

sql

Связанные хабы

FAQ

Какие форматы поддерживаются?

Поддерживаются SQL DDL и JSON/YAML описания схем, формат по возможности определяется автоматически.

Инструмент создает SQL миграции?

Да. Он формирует черновик миграции, который можно проверить и доработать вручную.

Для каких СУБД он подходит?

Он ориентирован на типовые изменения схем для MySQL, PostgreSQL и SQLite.

Показываются ли изменения связей?

Да. Внешние ключи и relation-данные для визуализации входят в результат.

Документация API

Конечная точка запроса

POST /ru/api/tools/database-schema-diff

Параметры запроса

Имя параметра Тип Обязательно Описание
sourceSchema textarea Да -
targetSchema textarea Да -
schemaFormat select Нет -
dialect select Нет -

Формат ответа

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
Данные JSON: Данные JSON

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-database-schema-diff": {
      "name": "database-schema-diff",
      "description": "Сравнивает две схемы БД и создает черновик миграции",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=database-schema-diff",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]