2012-06-12 2 views
1

Существуют ли библиотеки, которые сосредоточены на выборе двух баз данных, поиске различий и создании для него инструкций обновления/изменения? В основном скрипт обновления от экспорта А для экспорта Б.Возьмите разницу в двух дампах SQL для операторов update/alter?

Например, это:

-- Version 1 
CREATE TABLE IF NOT EXISTS `mytable` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `title` varchar(255) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- Version 2 
CREATE TABLE IF NOT EXISTS `mytable` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `title` varchar(255) NOT NULL, 
    `description` text, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- Would result in this: 
ALTER TABLE `mytable` 
    ADD `description` text; 

Edit: этот вопрос связан с библиотек для MySQL, а не инструменты.

+0

Существуют сторонние инструменты, которые делают это. RedGate будет местом для начала. – JeffO

ответ

0

RedGate http://www.red-gate.com/products/sql-development/sql-compare/index-b предлагает очень хорошее и стабильное решение.

Я считаю, что окончательная версия Visual Studio 2010 также может сравнивать схемы, но я не уверен, что она будет генерировать сценарии ALTER для вас.

Edit: Я просто вспомнил эту http://opendbiff.codeplex.com/ тоже, однако у меня не было много удачи, когда я в последний раз смотрел на нее.

1

Есть несколько инструментов сравнения MySQL.

+0

Они приближаются к тому, что я имел в виду. Хотя то, что я действительно ищу, это библиотеки, а не столько инструменты. – Beanow

+0

Дополнительные инструменты здесь: http://blog.devart.com/comparing-two-oracle-schemas-is-simple-now.html – Rolf

+0

Кроме того, MySQL Workbench может представлять интерес – Rolf

0

Этот модуль узел мог бы быть полезным. Он отличает текущие базы данных, но тогда должно быть просто создать живую базу данных из дампа SQL.

https://github.com/contra/dbdiff

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