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 шт):
В общем, проблема была в конструкторе без параметров:
public PersonalDataContext()
{
Database.EnsureCreated(); //<<---
}
Получается, что сначала выполнялось штатное создание БД, а потом накатывались сверху еще миграции, которые должны были создать БД.
Хотя, я вроде где-то читал, что миграции вырубают эту штуку...