Script para sincronizar estruturas de BD MySQL

Canal: MySQL  |  Autor: Jonathan Lamim Antunes  |  Publicado em: 20/05/2009  |  Views: 2.997

Script interessante que permite sincronizar dados de dois BDs MySQL, obtidos por exemplo usando um mysqldump, ver as diferençcas existentes entre ambos e devolver as queries necessárias para igualar as duas estruturas.

Por exemplo, se temos a estrutura seguinte:

CREATE TABLE IF NOT EXISTS `archive` (
`id` int(11) NOT NULL auto_increment,
`topFile` varchar(255) NOT NULL default "",
`msgId` int(11) NOT NULL default "0",
`time` timestamp NOT NULL default CURRENT_TIMESTAMP,
`topTpl` varchar(255) NOT NULL default "",
`file` varchar(255) NOT NULL default "",
`template` varchar(255) NOT NULL default "",
`instanceKey` varchar(255) NOT NULL default "",
`orderby` varchar(25) NOT NULL default "",
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10256 ;

E esta outra:

CREATE TABLE IF NOT EXISTS `archive` (
`id` int(11) NOT NULL auto_increment,
`topFile` varchar(255) NOT NULL default "",
`msgId` int(11) NOT NULL default "0",
`time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`topTpl` varchar(255) NOT NULL default "",
`file` varchar(255) NOT NULL default "",
`template` varchar(255) NOT NULL default "",
`instanceKey` varchar(255) NOT NULL default "",
`encoding` varchar(50) NOT NULL default "",
`orderby` varchar(255) NOT NULL default "",
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10256 ;

Serão retornadas as seguintes sentenças:

ALTER TABLE `archive` ADD `encoding` varchar(50) NOT NULL;
ALTER TABLE `archive` MODIFY `orderby` varchar(255) NOT NULL;
ALTER TABLE `archive` MODIFY `time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;
ALTER TABLE `archive` DROP PRIMARY KEY;

Um script bastante útil quando temos diferençãs entre a base dados de desenvolvimento e a de produção, e não sabemos que mudanças foram realizadas.

Confira em Database structure synchronizer

Creative Commons Esta obra está licenciada sob uma Licença Creative Commons. Você pode copiar, distribuir, exibir, executar, desde que seja dado crédito ao autor original (Citando nome do autor, data, local e link de onde tirou o texto). Você não pode fazer uso comercial desta obra. Você não pode criar obras derivadas.
Vote no artigo:

Compartilhe:

[x] Fechar Preencha os campos abaixo para indicar esta página:
Seu nome:
Seu e-mail:
Nome do indicado:
E-mail do indicado:
Deixe uma mensagem:
Anti-spam:

(nova imagem)
Preencha o que vê:
Twitter diHITT Facebook delicious envie por e-mail comentar

comentarComentários:

Preencha o formulário para comentar:

[x] Fechar
Nome:*
E-mail:* (não será exibido)
Site: (http://)
Comentário:*
Anti-spam:

(nova imagem)
Preencha o que vê:

Deseja receber as respostas dos comentários

William
Publicado em:
20/05/2009 - 12:53
William
Amigo gostei do comentari só não consegui achar o script. é script ou é programa?
@info
Publicado em:
28/05/2009 - 08:07
@info
Eu também gostei do post, mas tenho a mesma dúvida que o Willian, é um script ou um programa?