Recientemente comencé a trabajar con el control de versiones en mi desarrollo web usando subversion. Esto funciona muy bien para administrar los archivos que desarrollo pero no hace nada por los cambios que a veces necesito hacer en las bases de datos. Que yo sepa, el servidor en el que estoy trabajando no tiene ningún sistema de administración de bases de datos y es probable que no pueda hacer que instalen nada. ¿Qué opciones hay para administrar las bases de datos en este tipo de entorno?
database
version-control
Kenneth
fuente
fuente
Respuestas:
K. Scott Allen ha escrito algunas excelentes publicaciones de blog sobre esto hace unos años. Pueden ser "viejos" en términos de internet, pero su solución sigue siendo muy buena.
fuente
Los marcos de migración son bibliotecas de código que proporcionan una API simple para automatizar los cambios de la base de datos, con algún mecanismo para versionar la base de datos.
Yo uso Migrator.Net para algunos proyectos. Creo una clase para cada conjunto de cambios, y el marco proporciona una forma simple de ejecutar los cambios en una base de datos. También puedo ejecutar cambios hacia adelante y hacia atrás, siempre que codifique la lógica para degradar y actualizar.
Luego gestionamos el código de migración en nuestro VCS como cualquier otro código.
fuente
Copias de seguridad nocturnas, por supuesto (al menos). Porque no solo te importa la estructura de la base de datos.
Tienes varias opciones:
1) Mantenga sus scripts alternos en el control Source.
2) Después de cada cambio de db, genere los scripts de Db ... y almacénelos en el control de origen junto con una copia de seguridad de base de datos al mismo tiempo. De esta forma, puede hacer una comparación en el archivo de script generado.
fuente