Pregunta

Al leer sobre rieles y jugando con el año pasado, una de las herramientas que han hecho la mayor impresión en mí fue Rake. Un sistema de control de versiones de base de datos que mantiene idéntico derecho de todo integrado db dev en la construcción ... algo así haría la vida mucho más fácil (y más seguro)!

Sin embargo, una de las cosas que no he sido capaz de averiguar: ¿Cómo se mueve estos cambios a los servidores de producción cuando en realidad no tiene acceso a los servidores de producción? Tenemos varios servidores en todo el país para que donde está instalada la aplicación / actualizado por un paquete de instalación.

Nota: Esta pregunta es más acerca de la estrategia de rieles / Rastrillo tecnologías específicas. No utilizamos los carriles, utilizamos .Net. Pero si puedo imaginar este escenario publicar, parece que hay varias herramientas Migratordotnet ser uno que podría permitirnos hacer algo similar.

¿Fue útil?

Solución

Como usted probablemente sabe, la forma estándar rieles de ejecutar las migraciones en la producción es Capistrano . Tiene una de desplegar:. Migraciones tarea que se ejecuta las migraciones en servidores remotos utilizando ssh

Usted puede ser capaz de adaptarse a Capistrano hacer lo que quiera. Básicamente se trata de una forma flexible para ejecutar comandos en grupos de servidores remotos. Es necesario tener Rubí instalado en la máquina va a implementar con el fin de usarlo, pero no en las máquinas va a implementar a .

Su mejor opción puede ser escribir una tarea Capistrano personalizada para cargar el archivo setup.exe, ejecutarlo, a continuación, se ejecutan las migraciones (tal vez usando Migrator.NET).

Otros consejos

Es posible que pueda usar algo como SQL de Red Gate Comparar para producir guiones esquema que diff le permitirá automatizar el proceso de actualización de la base de datos. He utilizado la herramienta de forma manual para hacer tales cambios y fácilmente pude ver la creación de un programa que ejecute estas actualizaciones como parte del proceso de actualización. Si yo fuera a automatizarlo, sin embargo, me gustaría diseño en algo que me permitiera comprobar qué versión del esquema estaba en su lugar y ejecutar los scripts necesarios en el orden correcto para llevarlo hasta el la versión deseada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top