bases de datos de desarrollo y producción de sincronización de migración

Estoy usando MVC 5 con NET Framework 4.5.1. con código primero. También estoy usando Migraciones con el servidor SQL 2012 y (localdb) \ v11.0.

Estoy en el medio de desarrollar un proyecto usando C # y MVC5. Durante el desarrollo, creé muchas tablas nuevas en mi computadora de desarrollo y cambié el campo "Nombre" para el cual creo que el sistema hace un índice. Lo agregué y lo eliminé varias veces.

Después de eso, agregué mucho de nuevas tablas no relacionadas, pero por alguna razón, mis migraciones comenzaron a darme errores de restricciones externas debido a los índices para el campo "Nombre". Estos errores se multiplicaron a medida que los solucioné, por lo que decidí volver al estado inicial de la migración y restablecerlos usando la posición actual como un nuevo punto de partida. Esperaba que la tabla de producción examinara este nuevo punto de partida en la base de datos de desarrollo y se resincronizara con el estado de desarrollo. Pensé que había leído en alguna parte que el db de producción coincide con el db de desarrollo y se actualiza. Creo que hay un archivo de migración en la base de datos de producción que coincidiría con el archivo en la base de datos de desarrollo; ese archivo estaba claramente fuera de sincronización. He considerado eliminar los datos que contiene, pero espero hasta que reciba un consejo.

De todos modos, cambié el nombre del directorio de migraciones en la computadora Dev y lo excluí del proyecto. Luego reinicié mis tablas (usando un nuevo nombre de base de datos en mi base de datos local) en la computadora de desarrollo y la volví a cargar con los datos de inicialización. Todo funcionó.

Ahora, tenía un nuevo problema, mi base de datos de producción y mi base de datos de desarrollo eran diferentes, y mi migración en la computadora de desarrollo se configuró para crear nuevos archivos, mientras que el que estaba en el estado de producción esperaba la migración anterior. Cada vez que intentaba actualizar el db de producción usando la computadora de desarrollo, recibía un error de que los archivos existían, lo que por supuesto lo hicieron.

Entonces, comenté todos los archivos de creación en mi archivo de migración y volví a intentarlo. Ahora, la base de datos de producción comenzaría, pero no se ejecutaría porque el código actualizado tenía nuevos campos a los que se refería y que no se crearon en la base de datos de producción. Entonces, en mi producción db comencé a obtener errores de todos los campos que faltaban. , También intenté hacer verdaderas migraciones automáticas, eso no funcionó. Supongo que la única forma de solucionar esto es entrar manualmente y sincronizar los campos uno por uno.

PREGUNTA 1: ¿Existe una forma automática de sincronizar (usando migraciones) la producción db y la desarrollo db para que se conviertan en lo mismo que el desarrollo db?

PREGUNTA 2: Teniendo en cuenta el escenario anterior, ¿cuál habría sido una mejor manera de restablecer las migraciones con una base de datos de producción también?

Respuestas a la pregunta(1)

Su respuesta a la pregunta