Por aprender: Control de versiones para Bases de Datos
Publicado el 5 de febrero de 2008En Coding Horror, Jeff Atwood publica un artículo titulado “Get Your Database Under Version Control” o “pon tu base de datos bajo control de versiones”.
En él destaca lo importante que es tener la base de datos bajo control de revisiones:
“No sé cómo puedes llamarte ingeniero de software y mantener una cara seria cuando tu base de datos no se encuentra exactamente bajo el mismo nivel riguroso de control de fuentes como el resto de tu código. No dejes que esto te pase.”
Recién este año aprendí bien la teoría sobre control de revisiones, y aprendí a usar SubVersion. Además estuve leyendo (y me faltan los últimos capítulos “complicados”) el libro de O’Reilly: Version Control with SubVersion. Y ahora que dentro de todo lo tengo bastante dominado para lo que tenemos que usarlo en el trabajo, veo ésto!
Estoy totalmente de acuerdo en que es muy importante. Lo que venimos haciendo en el trabajo con Pablo es mantener los scripts SQL bajo control de versiones, con Subversion también, pero a mano. Resulta que también hay programas específicos para SQL Server (y supongo que demás motores SQL) para trabajar sobre la base de datos y mantenerlas versionadas.
Por ahora nos estamos arreglando bien con el “a mano” en svn, pero es una buena opción aprender un poco más y llevarlo directo sobre las bases de datos.
Algunos enlaces interesantes:
Is Your Database Under Version Control? – Artículo original de Jeff Atwood.
http://secretgeek.net/dbcontrol.asp – Enlaces a 3 artículos del tema y 11 herramientas (pagas) para el versionado de bases de datos.
http://en.wikipedia.org/wiki/List_of_revision_control_software – Lista de software de control de versiones en WikiPedia.
Habrá que investigar y cuando sepa algo más del tema, postearé. A los que usen algún sistema de control de revisiones para las bases de datos, se agradece cualquier aporte en los comentarios.
Jose 26 agosto. 2010 - 10:34
Buenas,
Excelente post, yo hace poco que decubrí subversion gracias a symfony y desde entonces apuesto por él, ya que lo muy util e interesante y que facilita la vida al programador, y viendo este articulo apostaré mas por el.
Un saludo,
Jorge Chaves 9 febrero. 2012 - 02:58
Bueno llego un poco tarde al post, pero para manejo de control de código de bases de datos, específicamente SQL SERVER 2008 yo e probado con Microsoft Team Foundation en la versión 2010 y funciona muy bien, lo único malo es que todo el control del código se realiza creando un proyecto de base de datos en Microsoft Visual Studio, y esto trae consigo el problema que si el desarrollador tiene acceso directo a la base de datos, puede modificar los objetos sin que estos queden registrados en nuestro Team Foundation, otro detalle importante es que a criterio personal el ambiente de Visual Studio no es muy bueno para desarrollar scripts y objetos para nuestra base de datos, existen otros entornos mas amigables como el TOAD o el mismo sql Management Studio