Hola Carlos, No es necesario que lo instales, basta con que te bajes los fuentes, de todas maneras te tiro alguna idea de como funciona, basandome en algo que recuerdo y otras cosas que deduzco. Ellos deben tener una tabla en la base de datos con la version del esquema de la base de datos. Cada vez que actualizas la aplicacion, cuando arranca, compara la version de base de datos que encuentra en esa tabla, en ese campo con la que se requiere para la version que estas corriendo. Si hay diferencias, dispara el proceso de actualizacion. Para cada version de la base de datos ellos tienen un script que la migra de la version anterior. Ejemplo: script_version_001_a_002.sql script_version_002_a_003.sql script_version_003_a_004.sql script_version_004_a_005.sql El proceso de actualizacion no tiene mas que correr todos los scripts necesarios. En esos scripts, ademas de DDL hay sentencias de DML y, por supuesto, la actualizacion de la version de la base de datos. Un mecanismo sencillo que no te salva de mantener todos los cambios necesarios de una version a otra. Carlos Peix
_____ De: [email protected] [mailto:[email protected]] En nombre de Carlos Marcelo Santos Enviado el: Jueves, 26 de Marzo de 2009 06:03 p.m. Para: [email protected] Asunto: [dbms] Versionado de Base de Datos Muchas Gracias por contestar Carlos. Son las dos cosas. Por la primera empecé con la herramienta de Esteban Grinberb que me recomendó Diego Jancic, http://opendbiff.codeplex.com/ Por la segunda sigo con lo que me recomendás. ¿Para mirar el mecanismo que usa DotNetNuke tengo que instalárlo? o ¿hay algo para leer? Un abrazo. Carlos Marcelo Santos. From: [email protected] [mailto:[email protected]] On Behalf Of Carlos Peix Sent: Jueves, 26 de Marzo de 2009 02:41 p.m. To: carlos.santos Subject: [dbms] Versionado de Base de Datos Hola Carlos, 1) No me queda claro si lo que vos necesitas es una herramienta para comparar dos bases de datos y, eventualmente, sincronizarlas o... 2) Un procesimiendo para manejar artualizacion de version de base de datos (de manera que sea compatible con la version de la aplicacion que se va a ejecutar) Me parece que es lo segundo porque dijiste que muchas bases de datos estaban desconectadas de la red, lo cual impide la comparacion con una base de datos de referencia. Para el dos hace un tiempo vengo juntando links e ideas. Puedo mencionarte que DotNetNuke usa un mecanismo asi desde hace años y funciona muy bien, sugiero que lo mires. Tambien reuni estos links: http://sourceforge.net/projects/dbdeploy-net http://www.agiledata.org/essays/databaseRefactoring.html Suerte, contanos como te fue. Carlos Peix _____ De: [email protected] [mailto:[email protected]] En nombre de Carlos Marcelo Santos Enviado el: Jueves, 26 de Marzo de 2009 12:41 p.m. Para: [email protected] Asunto: [dbms] Versionado de Base de Datos Hola Lista: Tengo un desarrollo con una base de datos SQL 2005 Express sujeta a muchas modificaciones, crear, modificar o eliminar tablas, relaciones, etc. La base está distribuida en varios lugares, a veces, físicamente distantes, y en algunos casos en equipos desconectados de cualquier red. Las modificaciones las hacemos con un script que vamos ejecutando en cada equipo A veces, después de varias generaciones de modificaciones hay equipos que no sabemos exactamente en qué grado de actualización quedaron. ¿Qué técnica me recomiendan para evitar estos problemas? ¿Existe alguna herramienta free (o no) para comparar bases de datos? ¿Existe algo mejor o complementario a la comparación? Muchas Gracias. Carlos Marcelo Santos. Se certificó que el correo entrante no contiene virus. Comprobada por AVG - www.avg.es Versión: 8.5.278 / Base de datos de virus: 270.11.28/2022 - Fecha de la versión: 03/25/09 18:54:00
