【发布时间】:2017-11-03 14:20:04
【问题描述】:
在生产中,我的程序不允许发出 DDL 语句。我需要为数据库管理员提供执行这些步骤的脚本。
我可以让实体框架(核心)迁移创建某种增量 T-SQL 脚本吗?
【问题讨论】:
标签: entity-framework entity-framework-core
在生产中,我的程序不允许发出 DDL 语句。我需要为数据库管理员提供执行这些步骤的脚本。
我可以让实体框架(核心)迁移创建某种增量 T-SQL 脚本吗?
【问题讨论】:
标签: entity-framework entity-framework-core
是的,有几种方法:
1) 使用Package Manager Console Tools for EF Core:
Script-Migration
2) 使用command line tools:
> dotnet ef migrations script -o scriptname.sql
【讨论】:
我会扩展 Steve Greene 的回答,如果你想编写增量更改脚本,你可以做
dotnet ef migrations script <from migration> <to migration>
例如
dotnet ef migrations script AddNewTables AddAuditTable
要创建一个 sql 文件,你可以这样做
dotnet ef migrations script AddNewTables AddAuditTable -o update-script.sql
这里有更多细节
https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/applying?tabs=dotnet-core-cli
【讨论】: