May 3rd, 2011

La base está

HAT

Visual Studio 2010 UltimateLas bases de datos son un componente crítico para la mayoría de las aplicaciones que solemos construir. Históricamente se han administrado con herramientas y/o procesos distintos a las que se utilizan para el desarrollo de software. Esto, en mayor o menor medida, siempre ha sido un problema en el ciclo de vida de una aplicación.

Durante la construcción de una aplicación, un desarrollador se encuentra más de una vez con la situación de tener que hacer cambios en la base de datos por alguna modificación que se realiza en el código. Obviamente que la importancia de esta situación cambia significativamente si la aplicación ya está implementada en un entorno productivo.

Soluciones a estos problemas las hay de las más variadas, desde las menos elegantes hasta las que más se asemejan a algo organizado, simple, prolijo y eficiente.

Es llamativo el hecho de que hoy en día en muchos casos se eligen las soluciones de las más “artesanales”, cuando existen herramientas que intenta facilitar estas tareas. Una de elllas es el Visual Studio Database Project, que pretende reducir lo más posible el gap entre estos dos mundos.

El Database Project nos permite integrar totalmente nuestro código con la base de datos. Todas las acciones que un desarrollador haría comúnmente desde el SQL Management Studio (hablando siempre desde el punto de vista de un desarrollador y no de un DBA), pueden ser manejadas tranquilamente desde el Visual Studio, junto con el resto de los proyectos que integran nuestra solución.

Entre las bondades de esta herramienta, podemos destacar las siguientes:

1) Gestión de cambios en la base de datos

  • Offline schema development
  • Deployment incremental para database schemas
  • Comparación de data/schema
  • Schema refactoring

2) Gestión de la calidad del schema de base de datos

  • Visualización y validación de las dependencias
  • T-SQL static code analysis
  • Database unit testing / Test data generation

3) Integración en el ciclo de vida de la aplicación

  • Team Foundation Source Control
  • Team Build integration
  • Role Specific Process Guidanse (MSF)

4) Extensibilidad

  • Extension points
  • Soporte para bases de datos no SQL Server

En resumen, lo bueno de esta herramienta es que nos sirve para manejar nuestro código y la base de datos como un todo, y así eliminar los problemas que surgen de tener estos dos mundos separados.

Esto nos permite tratar a la base de datos de manera similar a como tratamos al código: compartiendo el mismo versionado, asociando los cambios que hacemos a los work items de la misma manera que lo hacemos con el código; comparando schemas; haciendo refactoring de la base de datos con solo un par de clicks. Todas estas y varias más, son funcionalidades realmente útiles que por lo general no se aplican en una buena parte de los equipos de desarrollo.

Les recomiendo fervientemente el uso de esta herramienta, ya que funciona muy bien y soluciona de manera bastante fácil varios de los dolores de cabeza típicos del desarrollo de software.

Para más información: http://msdn.microsoft.com/es-es/library/dd193266.aspx

 

Dejar un comentario