Descripción del problema:Buscando solución para control de versiones de base de datos
En nuestro proyecto tenemos una "base de datos de producción" y muchos "desarrolladores". Queremos saber cómo podemos administrar e instalar los cambios. Ya tenemos algunos procedimientos, pero lleva mucho tiempo y a veces causa errores.
No podemos perder datos, por lo que no podemos usar "drop table". Solo podemos usar "alter table".
Nuestra actual "procedimiento db de versiones" es la siguiente:
- tenemos una tabla llamada [actual_version] que contiene la versión actual del esquema de db instalado
- Tenemos un archivo llamado "changes_script. sql" que contiene todos los cambios de base de datos - este archivo se almacena en SVN
Cuando un desarrollador quiere cometer una nueva revisión de SVN necesita change_script.sql mediante la adición de un bloque :
if ([acctual_version].version < "23")) {
--- sql script ----
updateVersionTo("23")
end if
Cuando queremos actualizar el esquema de base que acabamos de "ejecutar" el change_scripts.sql
¿Alguien tiene una idea mejor?
Gracias por su respuesta ... Creo que todo lo que necesitamos son buenas herramientas DB Comparer. Lo que quiero hacer es seleccionar dev_db y production_db y hacer clic en el botón "buscar diferencia". Luego puedo copiarlo manualmente para cambiar el script. ¿Tienes alguna idea? Hemos probado el Sql Compare de Red Gate y no fue realmente útil – itdebeloper
¡Hola! Soy un gerente de producto en Red Gate y tengo curiosidad por saber cuáles son las deficiencias de SQL Compare para usted. Por favor, siéntase libre de ponerse en contacto! Mi correo electrónico es David.Atkinson en Red-Gate.com –