sql >> Base de Datos >  >> RDS >> Sqlserver

Manejo de cambios en la base de datos entre ramas/retrocesos de versión en ASP.NET

Una buena manera de realizar un seguimiento de los cambios de esquema en varias ramas de un proyecto de desarrollo sería seguir un refactorización de base de datos proceso. Entre otros beneficios, este tipo de proceso incorpora el uso de secuencias de comandos delta y de migración para aplicar cambios de esquema a cada entorno (o rama en su caso). La configuración podría verse así:

main
  src <-- ASP.NET project source
  db <-- Database create scripts
  delta <-- Database change scripts (SQL delta files)

branch
  src
  db <-- usually has the same contents as the copy in main branch
  delta <-- only the changes necessary for this branch

Cada vez que necesita cambiar el esquema de la base de datos para una rama en particular, crea un script delta de SQL que se usa para aplicar el cambio. Para hacerlo más fácil, sugeriría nombrar cada archivo de script para incluir la fecha y la hora de creación para mantenerlos en secuencia. Ejemplo sería:

201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql

Agregue los archivos delta al control de código fuente en la rama donde se debe realizar el cambio de esquema. Debería terminar con cada rama que contenga exactamente lo que se necesita para cambiar la base de datos correspondiente. Es posible que sea necesario modificar algunos detalles para su situación dependiendo de cosas como su esquema de bifurcación y si su base de datos se conserva o no durante su proceso de lanzamiento (en lugar de volver a crearla).

Finalmente, para tratar de simplificar estos conceptos, recomendaría una herramienta para ayudar a administrar el proceso. Mi sugerencia es echar un vistazo a DBDeploy / DBDeploy.NET . Lo he estado usando felizmente durante años en todos mis proyectos.