Cargando



Sincronización de Estructuras en phpMyAdmin

Tutorial donde os enseño cómo realizar una sincronización desde phpMyAdmin, desde la comparación de las dos estructuras, hasta culminar el proceso de sincronización.


nov 22 2014 13:52
Intermedio
nov 22 2014 17:32
Muchas veces existen varios entornos en una organización, por ejemplo producción y desarrollo, que al ser dos entornos interdependientes necesitamos mantenerlos sincronizados, seguramente cuando liberamos una nueva característica debemos actualizar los esquemas de Bases de Datos.

En algunas ocasiones estos cambios pueden ser masivos, por lo que cualquier ayuda a sincronizar estas estructuras nuevas son bienvenidas, aquí es donde entra phpMyAdmin con su administrador de sincronización, que nos permite igualar dos Bases de Datos a nivel estructural de forma que podamos tener lo mismo en ambos ambientes por ejemplo.

Preparándonos para sincronizar


Atención
Recordemos que debemos tener respaldos de las bases antes de ejecutar cualquier cambio ya que una vez realizados no son reversibles.


El proceso de sincronización consta de los siguientes pasos:
  • Elección de Servidor y Base de Datos
  • Comparación
  • Sincronización completa o selectiva
Estos procesos pueden ser detenidos en cualquier momento de forma que no afectemos a la Base de Datos destino si encontramos alguna inconsistencia al momento. Iniciaremos copiando una Base de Datos cualquiera a una nueva que debemos crear, para hacer el ejemplo más fácil de seguir, la primera la denominaremos base original y la segunda base destino; en la base destino una vez copiados los datos y estructuras de la base original, vamos a seleccionar una tabla y borrar un campo, y cambiar el tipo de datos de otro campo, adicionalmente borremos un registro de alguna otra tabla.
Con estas operaciones que realizaremos sabremos que tenemos una discrepancia entre ambas, lo que nos servirá a modo de guía cuando estemos sincronizando.

Proceso de sincronización


Nuestro primer paso será elegir las dos bases que debemos sincronizar, para ello vamos al menú Syncronize en la vista de servidor, tengamos en cuenta que es la única ubicación donde podemos conseguir dicho menú.
Veremos algo similar a esto:

sincro-phpmyadmin.jpg


En el campo source database colocaremos la base que tiene la estructura que deseamos y en target database tenemos que colocar la base a la cual queremos que la estructura se iguale.

Vemos que tenemos un primer campo también donde podemos especificar la conexión en donde está ubicada la base de datos que deseamos sincronizar, en este caso trabajaremos con current connection o conexión actual, sin embargo si elegimos enter manually podemos especificar otras conexiones y tendríamos una pantalla como esta:

sincro-phpmyadmin2.jpg


Una vez que ya tengamos nuestras Bases elegidas haremos click en Go, con ello se inicia la comparación inicial, si todo va bien y no tuvimos ningún error deberíamos ver una pantalla donde la comparación se muestre como esta:

sincro-phpmyadmin3.jpg


Como vemos tenemos dos acciones particulares denotadas por un icono rojo y un icono verde, aquí podemos elegir entre sincronizar datos y estructura, adicionalmente podemos ver las diferencias iniciales como en esta pantalla que una tabla no existe en nuestro Target database.
En la parte central de la pantalla deberíamos ver las acciones programadas:

sincro-phpmyadmin4.jpg


Y en la parte inferior las acciones que podemos tomar:

sincro-phpmyadmin5.jpg


Si seleccionamos Syncronize Databases, vamos a copiar la estructura y datos de la base original a la base destino. Ahora si necesitamos saber más a fondo que podemos pasar y que no debemos seleccionar, para ello hacemos click en el icono rojo y vemos las discrepancias de Estructura, veremos algo muy similar a esto:

sincro-phpmyadmin6.jpg


Luego hacemos Click en el icono verde de Data y vemos la comparación de esta forma:

sincro-phpmyadmin7.jpg


Como vemos se muestra que se deben actualizar unas filas y agregar un registro nuevo, esto es debido a que inicialmente borramos una fila de la tabla en la base destino y que cambiamos el tipo de dato de una de sus columnas. Hasta ahora no hemos afectado nada, para que los cambios se hagan efectivos hacemos click en Apply Selected Changes y finalmente se ejecutaran nuestros cambios.

sincro-phpmyadmin8.jpg


Podemos repetir este proceso por cuantas tablas con diferencias tengamos, vemos que como esta tabla se sincronizó ya no aparecen los iconos.

Con esto tutorial finalizado, ya debemos ser capaces de igualar dos bases de datos.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X