Невозможно сгенерировать явную миграцию в структуре объекта - PullRequest
84 голосов
/ 22 марта 2012

Я добавляю новую миграцию, но это сообщение показывает:

Невозможно сгенерировать явную миграцию, поскольку ожидаются следующие явные миграции: [201203170856167_left].Примените отложенные явные миграции, прежде чем пытаться создать новую явную миграцию.

Может ли кто-нибудь мне помочь?

Ответы [ 24 ]

3 голосов
/ 06 марта 2018

Есть двусмысленность и так ошибка.Лучший способ - исключить текущий файл миграции и создать новый файл миграции ( add -igration ), а затем скопировать содержимое новой миграции в исключенный файл, включить его снова и запустить update-database команда.

1 голос
/ 21 сентября 2016

У меня были те же проблемы, и я смог решить их только с помощью Add-Migration 'MigrationName' -Force

, где -Force является важной частью.

1 голос
/ 14 ноября 2017

В моей локальной базе данных __MigrationHistory не заполнено или не существует. Я вручную создал таблицу, а затем перенес данные в этой таблице из PROD в мою локальную базу данных. Это заставило В.С. думать, что миграции были применены (что они и сделали).

1 голос
/ 23 февраля 2018

Совет: Всегда полезно использовать переключатель -Script для команд миграции, если вы не уверены. Это также действительно помогает понять, что на самом деле делает Update-Database.

Я запускаю следующее для обновления базы данных, затем получаю скрипт, который можно применить вручную (или просто запустить его снова без тега -Script).

Для Update-Database Я бы запустил следующее:

Update-Database -Script -ConfigurationTypeName Configuration_ASPNETIdentity -ConnectionStringName SQL_AzureLive

Где SQL_AzureLive - это именованная строка подключения в моей конфигурации.

Тогда я могу убедиться, что SQL выглядит правильно, применить его и все готово. Как и многие другие, если строка подключения неверна или недействительна, вы получите эту ошибку.

1 голос
/ 07 апреля 2019

Я решил ту же проблему, как это:

  • удалить старый файл миграции
  • update-database -force
  • Add-Migration AddedEntity
  • обновление-базы данных
0 голосов
/ 25 июня 2019

Для меня я удалил файл миграции (в вашем случае «201203170856167_left») из папки Migrations, а затем выполнил приведенную ниже команду в консоли диспетчера пакетов

Add-Migration <Parameter>
Update-Database
0 голосов
/ 07 июня 2019

В моем случае (с использованием MS Visual Studio) это было так же просто, как перезапустить Visual Studio.

0 голосов
/ 14 февраля 2019

У меня была более простая проблема.VS ошибочно сообщил об этой ошибке, когда у меня было VPN-подключение к клиентскому сайту, подключенному к моей рабочей станции.Проблема заключалась в том, что безопасность СУБД была настроена на прием запросов только от моего реального локального IP.Простое отключение VPN решило проблему.

0 голосов
/ 04 мая 2018

Я сделал по-другому. Я полностью удалил базу данных и снова запустил «update-database» в сравнении с

0 голосов
/ 15 сентября 2016

Я тоже сталкивался с этой проблемой.Это произошло, когда я создал новую БД, и у меня были отложенные изменения для переноса БД в коде, а затем я попытался выполнить команду «Update-Database».Решение: выполните команду «Add-Migration -MigrationName», чтобы создать новую миграцию для новой БД.Затем выполните команду «Обновление базы данных».

...