There is already an object named '[Название]' in the database при выполнении миграции

В общем, у меня 2 контекста, которые описаны в отдельной библиотеке.

Для каждого контекста я создал отдельную миграцию, как мне подсказали тут, задав еще для каждой из них отдельный output.

Теперь я хочу развернуть БД для отдельного контекста.

Я вбиваю команду вида:

Update-Database -migration 20200312060742_InitialCreate -Project BlaBlaBla.Dal -StartupProject ConsoleApp3 -Context ContextName

И ловлю ошибку:

There is already an object named 'TableName' in the database.

Из-за чего она может происходить? Мне почему-то кажется, что CLI пытается применить сразу 2 миграции из разных контекстов, так как эта таблица(на которую ругань) есть в обоих контекстах...

Что я делаю не так?


Ответы (1 шт):

Автор решения: iluxa1810

В общем, проблема была в конструкторе без параметров:

public PersonalDataContext()
{
      Database.EnsureCreated(); //<<---
}

Получается, что сначала выполнялось штатное создание БД, а потом накатывались сверху еще миграции, которые должны были создать БД.

Хотя, я вроде где-то читал, что миграции вырубают эту штуку...

→ Ссылка