¿Toma la diferencia en dos volcados de SQL para declaraciones de actualización/alteración?

¿Hay bibliotecas que se centren en exportar dos bases de datos, encontrar las diferencias y crear instrucciones de actualización/alteración para ellas? Básicamente, un script de actualización de la exportación A a la exportación B.

Por ejemplo esto:

-- 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: esta pregunta está relacionada con bibliotecas para MySQL, no herramientas.

preguntado el 12 de junio de 12 a las 14:06

Hay herramientas de terceros que hacen esto. RedGate sería un lugar para comenzar. -

3 Respuestas

Hay unos pocos MySQL herramientas de comparación disponibles.

Respondido el 12 de junio de 12 a las 14:06

Se acercan a lo que tenía en mente. Aunque lo que realmente estoy buscando son bibliotecas, no tanto herramientas. - Beanow

Además, MySQL Workbench podría ser de interés: Rolf

puerta roja http://www.red-gate.com/products/sql-development/sql-compare/index-b ofrecen una solución muy buena y estable a esto.

Creo que la última edición de Visual Studio 2010 también puede comparar esquemas; sin embargo, no estoy seguro de si generará los scripts ALTER para usted.

Edit: acabo de recordar esto http://opendbiff.codeplex.com/ también, sin embargo, no tuve mucha suerte la última vez que lo miré.

Respondido el 12 de junio de 12 a las 14:06

Este módulo de nodo podría ser útil. Se diferencia de las bases de datos en vivo, pero entonces debería ser simple crear una base de datos en vivo a partir de un volcado de SQL.

https://github.com/contra/dbdiff

Respondido el 21 de Septiembre de 17 a las 14:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.