Как удалить все миграции, не отменяя их - PullRequest
1 голос
/ 25 мая 2020

У меня есть. NET Core Project с большим количеством миграций в нем. У меня также есть база данных (данная мне, а не сгенерированная миграциями на моем p c). теперь

  1. Когда я пытаюсь добавить миграцию, я получаю сообщение об ошибке, что есть ожидающие миграции, и мне сначала нужно обновить базу данных, и я, как вы можете догадаться, выполнение команды update-database дает мне:

объект ... уже существует ошибка

Если я удалю базу данных, команда update-database сгенерирует всю базу данных, однако в базе данных будет много данных, которые при создании данных с миграциями стерли бы их.

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

Мне просто нужно удалить старые миграции, но не отменять их ( так как это также удалит мои таблицы из базы данных).

А также обратите внимание, что в базе данных нет таблицы _MigrationHistory

1 Ответ

2 голосов
/ 26 мая 2020

Если в базе данных нет таблицы __MigrationHistory и вы хотите пропустить миграции, вы также можете прокомментировать поля Up и Down в файлах миграции и применить миграцию. Это не влияет на вашу базу данных и только добавляет запись миграции в таблицу __MigrationHistory.

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...