Я использую EF 6.0 для своего проекта в C # с ручными миграциями и обновлениями. У меня есть около 5 миграций в базе данных, но я понял, что последняя миграция была неудачной, и я не хочу этого. Я знаю, что могу вернуться к предыдущей миграции, но когда я добавляю новую (фиксированную) миграцию и запускаю Update-Database, применяется даже плохая миграция.
Я пытался откатиться до предыдущей миграции и удалить файл с ошибочной миграцией. Но затем, когда я пытаюсь добавить новую миграцию, я получаю ошибку при обновлении базы данных, потому что файл миграции поврежден (точнее, первая строка кода переименовывает таблицу A в B и является следующей строкой, EF пытается обновить таблицу с помощью имя А - возможно, это какая-то ошибка EF).
Могу ли я выполнить какой-нибудь запрос, который скажет EF что-то вроде «Забудьте последнюю миграцию, как будто ее никогда не было, это было плохо»? Что-то вроде Remove-Migration.
Edit1
Я нашел решение, подходящее для меня. Меняем модель до хорошего состояния и запуска Add-Migration TheBadMigration -Force
. Это перенастроит последнюю, не примененную миграцию.
Во всяком случае, это все еще не полностью отвечает на первоначальный вопрос. Если я обновлю базу данных до плохой миграции, я не нашел хорошего способа откатить и создать новую миграцию, кроме плохой.
Спасибо