1. Блог Админа
  2. >
  3. Компьютерное
  4. >
  5. Сравнение структур двух баз...

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

Периодически любому разработчику чего-либо приходится сталкиваться с такой вещью, как выявление различий между двумя файлами. С этим замечательно справляется такая утилита как diff или её GUI аналоги. Однако бывает так, что из-за спешки, недогляда, недосыпа, и просто лени разработчик вносит изменения в тестовую базу данных и потом не может вспомнить что именно он делал, а совместить с базой данных в продакшене надо. Первое что приходит на ум — сделать дампы обоих БД и сделать по ним diff. Однако если в тестовую БД были внесены новые таблицы, то diff собьется и начнет сравнивать уже разные таблицы. Небольшой гуглинг навел меня на замечательную бесплатную утилиту которая работает с MySQL, PostgreSQL, MSSQL, написана на php и замечательно запускается со встроенного в php сервера. Это Compalex.

Установка Compalex.

Настройка Compalex

Далее нужно настроить подключение к тестовой и продакшен базам. Настройка выполняется в файле .environment

В этом файле

DATABASE_DRIVER — указываем драйвер БД. Возможные значения:

  • mysql — для базы данных MySQL
  • pgsql -для базы данных PostgreSQL
  • dblib -для базы данных Microsoft SQL Server

Секции [ Primary connection params ] и [ Secondary connection params ] описывают настройки для первой и второй баз данных.

Где:

  • DATABASE_HOST и DATABASE_HOST_SECONDARY — имя хоста базы данных или его IP адрес для первой и второй баз
  • DATABASE_NAME and DATABASE_NAME_SECONDARY — имя первой и второй базы данных
  • DATABASE_USER / DATABASE_PASSWORD и DATABASE_USER_SECONDARY / DATABASE_PASSWORD_SECONDARY — логи и пароль для доступа к базам данных
  • DATABASE_DESCRIPTION и DATABASE_DESCRIPTION_SECONDARY — описание сервера (не обязательно). Только для информации. Это описание будет показано как название базы данных.

Запуск Compalex

Внутри директории complalex выполняем:

Теперь можете открыть в вашем браузере адрес http://localhost:8000 и увидеть чем одна база отличается от другой.

Автор: Mirivlad

Скромный труженик консоли и окошек.