2013-06-11 2 views
1

Я вставил новые столбцы в одну базу данных, и теперь я хочу добавить столбцы того же типа ко второй базе данных. Мне нужно знать, какие столбцы находятся в первой базе данных, которые не находятся во второй. У меня есть много таблиц в каждой базе данных, для которых требуется сравнение разности столбцов. Я искал в Интернете, и я могу найти способы увидеть разницу в содержании столбцов в двух таблицах. Мне не нужно сравнивать содержимое, просто разные столбцы во всех таблицах в каждой базе данных. Каждая база данных имеет одни и те же таблицы.Как сравнить измененные таблицы двух баз данных

Спасибо!

Я обнаружил, что вы можете сделать дамп базы данных, который имеет только структуру из phpmyadmin.

+0

mysqldiff делает то, что вы хотите: http://dev.mysql.com/doc/workbench/en/mysqldiff.html - до того, как идет графический интерфейс, я знаю, что Toad для Oracle делает это хорошо, и я уверен, что Toad для MySQL такая же функция. –

+1

Сбросьте схему и используйте инструмент сравнения. – Narfanator

+1

Вам это помогает? http://stackoverflow.com/questions/14940032/get-differences-between-two-tables/14941627#14941627 –

ответ

1

Вы делаете это вручную? Вы можете просто использовать SHOW CREATE, чтобы увидеть структуру таблиц, а затем что-то вроде команды diff в Linux, чтобы сравнить их.

+0

Я использовал команды ALTER для добавления столбцов во времени. Я попробую SHOW CREATE. – Will

+0

Итак, я думаю, я мог бы написать сценарий для этого. У меня более пятидесяти столов, и это займет много времени. Но это лучший ответ. – Will

+0

Это то, что я сделал бы, лично. Должен быть довольно быстрый скрипт - сделать массив таблиц для сравнения и перебрать их. Для каждой таблицы получите «show create» для каждого, запустите его через «diff» и выгрузите файл или выведите его, что-то в этом роде. – Mike

0

Для коммерческого ответа на продукт: Я использую Red Gate's SQL Compare, который отлично работает. Он может сравнивать всю схему двух баз данных. Он также может обновить вашу целевую базу данных в соответствии с вашей исходной базой данных.

+0

Пропустил тег MySQL. пойдите с MySqlDif вместо моего ответа –

+0

У нас есть инструмент сравнения MySQL в Red Gate, но он должен быть установлен в Windows. http://www.red-gate.com/products/mysql/mysql-comparison-bundle/ –

0

Использование redgate SQL по сравнению с comapre схемой из двух таблиц.

sql-dbdiff также хорошо работает. Его открытый источник.

+0

У меня нет окон. Это приложение для Windows, не так ли? – Will

Смежные вопросы