Estoy construyendo una aplicación MVC con .Net Core y necesito generar el script de una migración.
Con EF6 ejecuté el comando
update-database -script
pero cuando trato de hacer lo mismo con .net Core, lanzo la siguiente excepción:
Base de datos de actualización: no se puede encontrar un parámetro que coincida con el nombre del parámetro 'script'
¿Sabes si existe un equivalente para EF Core?
.net
entity-framework
asp.net-core
asp.net-core-mvc
entity-framework-core
Gabriel Castillo Prada
fuente
fuente
Puede usar dotnet core cli para generar un script
También puede poner esto en un archivo con el nuevo
out-file
comando de power shell .dotnet ef migrations script | out-file ./script.sql
fuente
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.
entonces, puedes intentar
Esto funciona en .Net Core 2.1
fuente
También puede generar un script para revertir una migración invirtiendo los parámetros a Script-Migration. Por ejemplo, si tiene dos migraciones, BadLatestMigration y GoodPreviousMigration, puede volver a GoodPreviousMigration mediante el siguiente comando
Luego, asegúrese de Eliminar-Migración para eliminar la migración incorrecta
Esto funciona en .Net Core 2.2.0
fuente
Esto también genera solo el SQL
Update-Database -script -TargetMigration TO -SourceMigration FROM
fuente