Я создаю приложение MVC с .Net Core, и мне нужно сгенерировать сценарий миграции.
С EF6 я выполнил команду
update-database -script
но когда я пытаюсь сделать то же самое с .net Core, выдает следующее исключение:
Update-Database: не может быть найден параметр, соответствующий имени параметра 'script'
Вы знаете, есть ли аналог для EF Core?
.net
entity-framework
asp.net-core
asp.net-core-mvc
entity-framework-core
Габриэль Кастильо Прада
источник
источник
Вы можете использовать dotnet core cli для создания скрипта
Также вы можете поместить это в файл с помощью новой команды Power Shell
out-file
.dotnet ef migrations script | out-file ./script.sql
источник
dotnet ef migrations script --help Usage: dotnet ef migrations script [arguments] [options] Arguments: <FROM> The starting migration. Defaults to '0' (the initial database). <TO> The ending migration. Defaults to the last migration. Options: -o|--output <FILE> The file to write the result to. -i|--idempotent Generate a script that can be used on a database at any migration. -c|--context <DBCONTEXT> The DbContext to use. -p|--project <PROJECT> The project to use. -s|--startup-project <PROJECT> The startup project to use. --framework <FRAMEWORK> The target framework. --configuration <CONFIGURATION> The configuration to use. --runtime <RUNTIME_IDENTIFIER> The runtime to use. --msbuildprojectextensionspath <PATH> The MSBuild project extensions path. Defaults to "obj". --no-build Don't build the project. Only use this when the build is up-to-date. -h|--help Show help information -v|--verbose Show verbose output. --no-color Don't colorize output. --prefix-output Prefix output with level.
так что ты можешь попробовать
dotnet ef migrations script ver1 ver2 dotnet ef migrations script ver1 ver2 -o ./script.sql
Это работает в .Net Core 2.1
источник
Вы также можете создать сценарий для отката миграции, изменив параметры на Script-Migration. Например, если у вас есть две миграции, BadLatestMigration и GoodPreviousMigration, вы можете вернуться к GoodPreviousMigration, используя следующую команду
После этого не забудьте удалить-Migration, чтобы удалить плохую миграцию.
Это работает в .Net Core 2.2.0
источник
Это также генерирует только SQL
Update-Database -script -TargetMigration TO -SourceMigration FROM
источник