从EF 5 Code First Migrations生成完整的SQL脚本

时间:2012-12-18 18:44:02

标签: entity-framework ef-migrations

如何使用Entity Framework 5 Code First Migrations创建从初始(空)状态到最新迁移的完整数据库脚本?

MSDN Blog上的博客建议这样做,但它似乎创建了一个空脚本:

Update-Database -Script -SourceMigration: $InitialDatabase

3 个答案:

答案 0 :(得分:263)

API似乎已经改变(或者至少,它对我不起作用)。

在程序包管理器控制台中运行以下按预期方式运行:

Update-Database -Script -SourceMigration:0

答案 1 :(得分:8)

为了补充Matt wilson的答案,我有一堆代码优先的实体类但没有数据库,因为我没有采取备份。所以我在我的Entity Framework项目上做了以下事情:

在Visual Studio中打开Package Manager控制台,然后键入以下内容:

Enable-Migrations

Add-Migration

为您的迁移命名,例如' Initial'然后创建迁移。最后输入以下内容:

Update-Database

Update-Database -Script -SourceMigration:0

最后一个命令将从您的实体类创建数据库表(假设您的实体类格式正确)。

答案 2 :(得分:1)

适用于所有使用实体框架核心的人。这就是你的方法。

# Powershell / Package manager console
Script-Migration

# Cli 
dotnet ef migrations script

https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/#generate-sql-scripts