Сравните 2 схемы базы данных на Mysql - PullRequest
3 голосов
/ 22 августа 2009

У меня есть 2 схемы в базе данных об одном и том же приложении (разные версии)

Я хочу сгенерировать Delta-скрипт с отличиями

Существует какой-то инструмент, который мне помогает (решение с открытым исходным кодом должно быть идеальным)

Спасибо

Ответы [ 5 ]

1 голос
/ 30 сентября 2009

http://sourceforge.net/projects/schema-compare/

основной, но рабочий

1 голос
/ 04 ноября 2009

mysql-diff делает сравнение схемы.

1 голос
/ 22 августа 2009

Navicat для MySQL делает это с помощью инструмента «Синхронизация структуры», но не с открытым исходным кодом (179 долларов США). Он сравнит таблицы, показывающие все различия, а также предоставит вам SQL для их синхронизации.

Существует бесплатная 30-дневная пробная версия , которую можно использовать для быстрого сравнения. Версии для Windows, Linux и Mac.

0 голосов
/ 08 августа 2013

Используйте приведенный ниже запрос, чтобы сгенерировать два .csv файла для обеих схем, дважды выполнив запрос ниже, изменив table_schema и OUTFILE, затем сравните оба .csv с Beyond Compare или любым доступным инструментом сравнения

select 
t.TABLE_NAME,c.COLUMN_NAME,t.TABLE_TYPE,c.COLUMN_TYPE,t.ENGINE, t.VERSION, t.TABLE_COLLATION, c.ORDINAL_POSITION, c.COLUMN_DEFAULT, c.IS_NULLABLE, c.DATA_TYPE, c.CHARACTER_MAXIMUM_LENGTH, c.NUMERIC_PRECISION, c.CHARACTER_SET_NAME, c.COLLATION_NAME, c.COLUMN_KEY, c.EXTRA, c.PRIVILEGES 
from 
information_schema.columns c, information_schema.tables t where t.table_schema = **‘schema_name1’** and t.table_schema = c.table_schema and t.TABLE_NAME = c.TABLE_NAME order by 1,2 
INTO OUTFILE **'C:/ARUN/temp2/va_empty_db_2_info.csv'** FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
0 голосов
/ 24 сентября 2010

Попробуйте использовать dbForge Schema Compare для MySQL . Это не бесплатный инструмент, хотя он предлагает бесплатный 30-дневный пробный период.

dbForge Schema Compare for MySQL

...