Подтвердить что ты не робот

Перенос инфраструктуры Entity - генерировать sql script текущей модели базы данных

Я пытаюсь создать sql script, который создаст для меня базу данных. До сих пор я пробовал это:

Update-Database -Script -SourceMigration: $InitialDatabase
Update-Database -Script -SourceMigration:0

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

Итак, как мне воссоздать мою модель сейчас, когда миграции не дают мне полный sql script?

4b9b3361

Ответ 1

Try:

Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: [MigrationName]

Это должно включать script от исходной базы данных до целевого объекта миграции. По крайней мере, должна быть таблица "MigrationHistory".

Вы также можете попробовать воссоздать свои миграции:

1) Возврат к исходной базе данных. Если все будет хорошо, это должно удалить все таблицы из вашей базы данных.

Update-Database -TargetMigration: $InitialDatabase

2) Удалите весь файл миграции внутри папки Migrations. Вам не нужно удалять файл класса конфигурации.

3) Добавьте новую миграцию. Однако это создаст файл миграции из исходной базы данных в вашу последнюю модель.

Add-Migration -Name: [MigrationName]

Надеюсь, это поможет. Я также предлагаю взглянуть на это сообщение в блоге. Обратите внимание на подсказку № 5, которая "Никогда не удаляйте миграцию перед ее возвратом (вниз)". По моему опыту это вызывает проблемы с миграцией, если не следовать.