Blogs Media: CSS Mania | VivirLatino | Sentido Web | Apps Mania

Publicidad

Mié18Jun2008

Script PHP para sincronizar estructuras de BD MySQL

17:45 H (CET)| Temas: MYSQL · PHP

Interesante script que permite dados dos estructuras del MySQL, obtenidas por ejemplo usando un mysqldump, ver que diferencias hay entre ambos y devuelve las queries necesarias para igualar las dos estrucuras.

Por ejemplo, si tenemos la estructura siguiente:

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 ;

Y este otro:

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 ;

Nos devolvería las siguientes sentencias:

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;

Un script bastante útil cuando, debido al despiste, tenemos diferencias entre la base de datos de desarrollo y la de producción y no sabemos qué cambios hemos realizado.

Database structure synchronizer

Relacionados

Feedback (2) » Formulario

1. manuel ~ Jueves, 10 Jul 2008 | 03:53H:

hola quiero saber si tienes un escri para detectar el host de una base de datos lo escrivo de todas las formas posibles y no me fuciona sera que hay un scrip para esto

2. yo ~ Viernes, 01 Ago 2008 | 18:19H:

HOLA QUE TAL.

Conversación

Nombre:

Email:

(no aparecerá)

URL:

(opcional)
¿Recordar datos?

↓ Comentarios (XHTML permitido)