Tradicionalmente siempre he escrito mis scripts sql a mano para que sean agradables y limpios (no soy fanático de los generados) y lanzamiento a lanzamiento, proporciono un script de instalación nuevo y un script de migración de la versión anterior que crea nuevas tablas, altera las tablas existentes, etc. Todo esto es bastante estándar.¿Cómo cambia el esquema del primer código EF 4 en un entorno de producción?
Realmente no he tenido mucho tiempo para jugar con el código EF 4, pero estoy bastante interesado en usarlo si es realmente viable en un entorno de producción.
Digamos que tiene un primer acercamiento de código donde una base de datos se creará automáticamente si no existe. ¿Qué sucede si publica una nueva versión del software que tiene cambios de esquema/modelo? ¿EF es lo suficientemente inteligente como para actualizar el esquema de la base de datos para que coincida con el modelo EF actualizado?
Escenario
- cliente instala asp.net MVC página web en su servidor. Al ejecutarse por primera vez, se crea una base de datos fresca
- cliente utiliza el sitio web por un tiempo y la base de datos se rellena con algunos datos
- Mientras tanto, una nueva versión de la página web se libera y el modelo de EF ha cambiado
- descargas nuevo Cliente versión, despliega sitio web y puntos de base de datos existente
es el código primero sólo es útil para la implementación inicial, o es lo suficientemente inteligente como para actualizar una base de datos existente de liberación para liberar de esta manera?
es bueno saberlo, aunque hasta que esa característica no sea conocida no creo que esta sea una ruta que pueda defender en la oficina. –
Sí, no estaba seguro de si el marco de EF 4 era lo suficientemente maduro como para manejar esto. Gracias por el enlace. Voy a retrasar esta función, creo y supervisar el equipo de EF a principios de 2011 para las actualizaciones. ¡Aclamaciones! –
@confusedGeek: Incluso después del lanzamiento de esta función, estoy seguro de que ninguna empresa le daría su base de datos de producción a EF para arreglarlo sobre la marcha. El script alternativo siempre debe pasar por los DBA, ya sea que lo haya escrito usted o el EF. –