2016-11-14 5 views
4

Я хочу использовать первые миграции EF-кода для создания моих моделей в базе данных. Однако база данных, которую я буду использовать, уже существует и используется другими приложениями. Мой вопрос:EF Code First Drop Database?

Устраняет ли миграция базу данных? Это было бы катастрофой! Устраняет ли миграция что-нибудь вообще?

ответ

1

Вопрос: Устраняет ли миграция базу данных?

A: Нет. Вы можете сделать это, не стирая его.

Вы должны сделать это, как показано ниже на Консоль диспетчера пакетов.

Шаг 1:

PM > Add-Migration InitialCreate –IgnoreChanges 

Над команды создаст пустую миграцию с текущей моделью в качестве снимка.

Шаг 2:

PM > Update-Database 

Над командой будет применять InitialCreate миграции в базу данных. Следовательно, фактическая миграция не содержит никаких изменений, она добавит строку в таблицу __MigrationsHistory, указав, что эта миграция уже применена.

Подробнее об этом можно узнать здесь: CF Migrations with an existing database

0

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

Смежные вопросы