синхронизация миграции баз данных разработки и производства

Я использую MVC 5 с NET Framework 4.5.1. с кодом-первым. Я также использую Миграции с сервером SQL 2012 и (localdb) \ v11.0.

Я нахожусь в процессе разработки проекта с использованием C # и MVC5. Во время разработки я создал много новых таблиц на своем компьютере для разработки и изменил поле «Имя», для которого, по моему мнению, система создает индекс. Я добавил это и удалил это несколько раз.

После этого я добавил много новых несвязанных таблиц, но по какой-то причине мои миграции стали приводить к ошибкам внешних ограничений из-за индексов для поля «Имя». Эти ошибки продолжали умножаться по мере их исправления, поэтому я решил вернуться к исходному состоянию в процессе миграции и сбросить его, используя текущую позицию в качестве новой отправной точки. Я надеялся, что производственная таблица посмотрит на эту новую отправную точку в db разработки и снова синхронизируется с состоянием разработки. Мне показалось, что я где-то читал, что производственная база данных совпадает с базой данных разработки и обновляет себя. Я считаю, что в производственной базе данных есть файл миграции, который соответствовал бы файлу в опытной базе данных, что файл явно не синхронизирован. Я рассмотрел удаление данных в нем, но я удерживаюсь, пока не получу совет.

В любом случае, я изменил имя каталога миграций на компьютере разработчика и исключил его из проекта. Затем я повторно инициализировал свои таблицы (используя новое имя базы данных в моей локальной базе данных) на компьютере разработчика и заново загрузил его с данными инициализации. Все сработало.

Теперь у меня возникла новая проблема, моя производственная база данных и моя база данных разработки были разными, и моя миграция на компьютер разработчика была настроена для создания новых файлов, тогда как та, которая находилась в производственном состоянии, ожидала более старой миграции. Каждый раз, когда я пытался обновить производственную базу данных, используя компьютер для разработки, я продолжал получать сообщение об ошибке, что файлы существовали - что, конечно, они делали.

Итак, я закомментировал все файлы создания в моем файле миграции и повторил попытку. Теперь производственная база данных запускается, но не запускается, потому что в обновленном коде появились новые поля, на которые он ссылался, которые не были созданы в производственной базе данных. Итак, на моей производственной базе данных я начал получать ошибки всех пропущенных полей. Я также пытался сделать автоматическую миграцию верной, но это не сработало. Я предполагаю, что единственный способ исправить это - войти вручную и синхронизировать поля одно за другим.

ВОПРОС 1: Существует ли автоматический способ синхронизации (с использованием миграций) производственной базы данных и базы данных развития, чтобы они стали такими же, как базы данных разработки?

ВОПРОС 2: Учитывая вышеприведенный сценарий, какой был бы лучший способ перенастроить миграцию с производственной базой данных?

Ответы на вопрос(1)

Ваш ответ на вопрос