Al escribir una aplicación que se ejecuta en Fluent Nhibernate/Nhibernate, algo me tiene un poco preocupado. Supongo que esto sería cierto para cualquier ORM (e incluso sin usar un ORM), pero ¿cuál es el ... Supongo que la palabra es "campo de estudio" que se relaciona con las mejores prácticas y métodos para actualizar una base de datos después de la implementación?Tratando con las actualizaciones de esquema en nHibernate/Fluido nHibernate después de la implementación
En nHibernate, establezco una SessionFactory y tengo una ejecución inicial donde escribe la base de datos basándose en las asignaciones. Está bien y bueno, incluso puedo escribir la base de datos de forma manual. ¿Pero qué pasa cuando mi cliente regresa y quiere que se agregue algo nuevo? ¿Puedo agregar a la base de datos sin perder mis datos? Soy completamente nuevo en todo esto y me ha estado preocupando desde el comienzo de este proyecto, y realmente no sé qué dirección tomar para asegurarme de poder administrar el programa después de su implementación.
He visto otras preguntas sobre el desbordamiento de pila que pude encontrar con respecto a este tema, una de las cuales ni siquiera tenía una respuesta aceptada (aunque la pregunta en sí era bastante vaga), pero descubrí la herramienta http://www.red-gate.com/products/sql-development/sql-compare/ del pregunta Tool to upgrade SQL Express database after deployment aunque me pregunto qué tan buena es una "estrategia".
, sé acerca de la asignación automática. Lo que más me preocupa es si el esquema cambia, me temo que podría cambiar automáticamente mi base de datos y volcar mis datos. – Ciel
A menos que haya escrito código en su aplicación para aplicar scripts de esquemas generados por NHibernate, estos no se aplicarán automáticamente. Estas .NET [herramientas de migración de base de datos] (http://stackoverflow.com/questions/313/net-migrations-engine) pueden ayudar a actualizar bases de datos con cambios de esquema sin perder ningún dato existente. –