En el artículo anterior, hablábamos acerca de DbComparer como herramienta para comparar esquemas entre 2 bases de datos. hoy toca el turno de OpenDbDiff.
Hospedado en el sitio de CodePlex, este proyecto nos describe lo siguiente:
Open DBDiff es una herramienta de comparación esquema open source de bases de datos de SQL Server 2005/2008.
Se informa de las diferencias entre dos esquemas de base de datos y proporciona un script de sincronización para actualizar una base de datos de uno a otro.
Cuando ejecutamos la aplicación, veremos, al igual que DbComparer, 2 apartados para especificar una base de datos de orígen, y una base de datos destino, donde debemos especificar la información correspondiente a cada una de ellas, como en el siguiente ejemplo:
Una vez hecho esto, debemos dar click en el botón “Compare” para llevar a cabo la comparación:
lo cual nos generará un listado con las diferencias entre ambas bases de datos. Continuando con nuestra información de ejemplo, al abrir la pestaña de las tablas, veremos algo como lo siguiente:
donde, dependiendo el color del texto, significará alguna de las siguientes 3 opciones:
En nuestro ejemplo concreto, veremos debemos llevar a cabo una consulta del tipo Alter para poder dejar a la par ambas bases de datos. La aplicación nos ayudará, brindándonos el script para crear la( s ) tabla ( s ) correspondiente (s ).
Script de la tabla anterior:
Script de la tabla nueva:
Por último, si deseamos aplicar dichos cambios de forma automática, bastará con seleccionar el ó los ítems correspondientes, y dar click sobre “Update Item”:
con lo que nos saltará una advertencia:
Que básicamente nos dice, que no se podrán revertir los cambios. Al aplicar los cambios, si no hay mayor complicación, nos saldrá un mensaje diciendo que todos los cambios fueron satisfactorios:
Posterior a esto, se iniciará de nuevo el proceso de comparación, esta vez, mostrándonos los objetos sin ningún tipo de problema:
Con esto, tenemos una ayuda bastante poderosa para tener nuestras bases de datos sincronizadas.
Nos vemos en la siguiente entrada.
Saludos.