2011-04-14 15 views
5

uso de Hibernate en mis tareas de programación del día a día y me parece muy buena. En particular, me encanta la forma en que gestiona las actualizaciones de esquema durante el desarrollo, lo que me salva de muchos dolores de cabeza.Cómo evitar el uso de actualización del esquema de hibernación

De todos modos, escribieron en la documentación que no está recomendado en el entorno de producción, como es comprensible. Entonces, cuando actualizo una aplicación en un servidor de producción, ¿cuál puede ser la forma estándar de la industria? Pensé en crear un procedimiento de instalación automatizado que volcara los contenidos de la base de datos (básicamente una copia de seguridad), luego llamar a la actualización del esquema de hibernación desde el código, luego ejecutar algunas pruebas en las consultas, etc. De todos modos, ¿hay herramientas a su alrededor que harían esto automáticamente y están bien probadas?

Movilízate! :)

Gracias.

Respuesta

2

Mira Strategies for dealing with constantly changing requirements for MySQL schemas? para una pregunta similar y su respuesta.

Para abreviar, una vez que tiene una cantidad razonable de datos y necesita migrarla de un esquema a otro, necesitará escribir scripts SQL para alterar su esquema y mover/transformar datos.

+0

Incluso si mySQL es mi base de datos preferida, estoy hablando de hibernación. Entonces me gustaría ser independiente de la base de datos. – gotch4

0

Yo personalmente creo que esto recomendación es demasiado prudente. Estamos utilizando la función de actualización automática de Hibernate durante muchos años, tanto en producción como en desarrollo, y nunca tuvimos problemas con ella (y sí, contamos con muchos sistemas grandes y marcas conocidas).

Obviamente usted tiene que probar su aplicación para asegurarse de Hibernate bien el trabajo al actualizar de una versión a otra, pero lo mismo se aplica para todos los demás aspectos de software, también.

También tienen que ser conscientes de lo que la actualización automática puede hacer (por ejemplo, crear nuevas tablas, añadir nuevos índices) y lo que no puede (por ejemplo, eliminar tablas, eliminar las restricciones). Los bits que faltan son razonablemente fácilmente realizables con JDBC sin procesar, nuevamente, no sin pruebas.

Cuestiones relacionadas