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