En mi solicitud CodeFirst, locales construye tener una bandera app.config que no denota estar en producción. Cuando no estoy en producción, destruye por completo y recrea la base de datos. Como el usuario de la base de datos de producción NO tiene permisos para eliminar la base de datos, incluso si mi transformación web.config se pierde de alguna manera (por lo tanto, EF intenta recrear la base de datos) mi base de datos de producción no se eliminará y se lanzará una excepción.
Mi flujo de trabajo es el siguiente:
- Salida rama de producción de código con la última cambia
- prueba de humo/regresión rápidamente (esto ya se debe hacer antes de comprobar el código en la rama de producción, pero sólo por si acaso)
- descargar la última copia de seguridad de mi base de datos de producción e instalarlo en mi servidor local de SQLEXPRESS
- Run Open DBDiff entre la base de datos de mi código local creado (aunque es el código de producción, ya que es lo recr locales compra la base de datos) contra la copia de seguridad de producción.
- Revise los scripts generados e intente ejecutarlos contra la copia de seguridad de producción
- Suponiendo que no se produjeron errores, sobrescriba la base de datos que generó el código con la copia de seguridad de producción y haga pruebas contra los datos de producción para asegurarse de que todos los datos estén intactos;
- Ejecutar scripts en la base de datos de producción real.
El paso # 2 crea automáticamente una base de datos nueva y limpia basada en el último modelo de datos, así que siempre sé que tengo una base de datos actualizada que no contiene artefactos de esfuerzos de desarrollo que aún no están listos para la producción.
¿Qué estás buscando exactamente? No * tiene * para refactorizar su esquema DB con CF. – TheCloudlessSky
no tiene que refactorizarlo si lo destruye y vuelve a crear, pero de lo contrario, tendrá que escribir y aplicar scripts de migración a él, ¿o no? De lo contrario, no coincidirá con el código. –