Grimpi IT Blog

marzo 26, 2009

Nueva versión de Open DBDiff

Filed under: Open DbDiff, SQL Server — Etiquetas: , — grimpi @ 1:41 am

Bueno gente, hay una nueva versión de Open DBDiff en la calle (o mejor dicho, en CodePlex).

Que es Open DBDiff?
Es un pequeño programa de sincronización de schemas de bases de datos que funciona en SQL Server 2005/2008.
Hay casi diria decenas de aplicaciones similares en el mercado. La gran mayoría, exceptuando Red Gate y un par más, son bastante limitadas y funcionan mal. No capturan todos los objetos de la base y son incapaces de generar un script que funcione cuando se presentan casos minimamente complejos.

Por otro lado, no existe ningún producto similar, que sea open source.
La idea de Open DbDiff es precisamente llenar este hueco. Hacer una herramienta de comparacion de schemas potente, facil de usar y 100% libre.

A futuro, planeo hacer lo mismo para MySql y a un futuro muy a largo plazo, Oracle.
Es capaz de generar un correcto script de sincronización en situaciones bastante extrañas. Despues de mas de un año de desarrollo, creo que la aplicacion evolucionó lo suficiente para ser probada seriamente en producción (aunque soy conciente de que todavia quedan algunos bugs por resolver).

Este es link a la home en CodePlex para quien le interese probarlo.

Anuncios

julio 22, 2008

Nueva version de Open DBDiff

Filed under: Open DbDiff, SQL Server — grimpi @ 3:29 am

Bueno gente, disculpen que haya “desaparecido” casi 2 meses. Pero ando con mucho laburo, otro blog que mantener, proyectos particulares, facultad, ustedes me entienden.

En fin, entre tantas cosas que vengo haciendo, una es una herramienta de comparacion y sincronizacion de schemas de bases de datos para SQL Server 2005. A principios de año, subi una version a codeplex. Ahora, recien salida del horno, esta disponible la Beta 3 de dicha aplicacion.

Que mejoras trae? Un varias:

1) Montón de bugs arreglados, especialmente en la comparacion de UserTypes. De todas las herramientas que probé de este tipo, no encontre ninguna sola, que sincronize siempre bien en todas las situaciones, incluyendo dependencias, los UserTypes. Open DBDiff en este aspecto, funciona mejor incluso que la herramienta de Red Gate y de Visual Studio.

2) Tambien arreglé bugs y lios con las depedencias para los objetos XML Schema, Assemblys y Foreing Keys.

3) Mejoras en la sincronizacion de Store Procedures, Funciones y Vistas. Agregue soporte para Funciones y Vistas con la opcion SCHEMABINDING.

4) Agregue soporte para CLR-UDT, Users y Roles.

5) Una mejor vista grafica, incluyendo un arbol de objetos, con las diferencias entre los 2 schemas.

En fin, esta nueva version, realmente esta mucho mas acabada. El que esta en el tema, le recomiendo bajarla. Como siempre, se aceptan comentarios, criticas y sugerencias.

El link para bajarla es este: http://www.codeplex.com/OpenDBiff/Release/ProjectReleases.aspx?ReleaseId=15533

marzo 16, 2008

Open DBDiff (Otro SQL Schema Compare mas, pero Open Source)

Filed under: Open DbDiff, SQL Server — grimpi @ 12:35 pm

Muchas veces quienes trabajan y desarrollan con bases de datos, tendrán el problema de tener que ver como sincronizar los cambios en la base de datos de desarrollo con la de producción o testing. Es realmente un tema, ya que cualquier error ahí, nos hace fallar la subida al ambiente de producción (o de testing).Existen montón de herramientas que permiten sincronizar 2 base de datos y generar un script de migración de una base a otra, ahorrándonos el trabajo de nosotros tener que llevar un tracking de los cambios, lo cual lleva a una minimización de error. Una excelente herramienta para hacer esto es el Red Gate Compare, la cual es bastante potente y rápida. Lástima que sale 395 USD en su versión más económica. También Visual Studio for Database Professional incorpora una herramienta similar. Pero es necesario tener la versión Team System (la más cara) del VS (2005/2008).

Por lo tanto, he decido crear una herramienta 100% open source, desarrollada en C# usando .NET 3.5, para comparar 2 bases de datos y generar un script de diferencias.

La herramienta se llama Open DbDiff, actualmente está en estado Beta y solo funciona para SQL Server 2005, pero la hemos probado con montón de distintos casos de uso diferentes, en las más variadas situaciones y ha funcionado muy bien. Es rápida, especialmente en maquinas con más de un núcleo, ya que es multihilo. Su algoritmo de generación de script es bastante inteligente y sabe en qué situaciones debe regenerar una tabla o índice, o hacer simplemente un ALTER.

Compara los siguientes objetos:

  • Tablas (incluyendo opciones como vardecimal, text in row, etc..)
  • Columnas (incluyendo campos Formulas, opciones de xml, collate, etc..)
  • Constraints
  • Indices
  • Triggers
  • User Data Types
  • Vistas
  • Store Procedures
  • XML Schemas
  • Sinonimos
  • File Groups
  • Assemblys

De todas maneras, toda le falta pulir algunos detalles, está en estado Beta, pero es muy potente. Si está buscando herramientas de sincronización, se las recomiendo. El link para bajar el instalador es el siguiente:

http://opendbiff.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25206

Crea un blog o un sitio web gratuitos con WordPress.com.