Mat*_*son 136 entity-framework ef-migrations
如何使用Entity Framework 5 Code First Migrations创建从初始(空)状态到最新迁移的完整数据库脚本?
博客文章在MSDN博客暗示要做到这一点,但它似乎创建一个空的脚本:
Update-Database -Script -SourceMigration: $InitialDatabase
Run Code Online (Sandbox Code Playgroud)
Mat*_*son 272
API似乎已经改变(或者至少,它对我不起作用).
在程序包管理器控制台中运行以下按预期方式工作:
Update-Database -Script -SourceMigration:0
Run Code Online (Sandbox Code Playgroud)
为了增加Matt wilson的答案,我有一堆代码优先实体类但没有数据库,因为我没有备份.所以我在我的Entity Framework项目上做了以下事情:
在Visual Studio中打开包管理器控制台并键入以下内容:
Enable-Migrations
Add-Migration
Run Code Online (Sandbox Code Playgroud)
为迁移命名,例如"初始",然后创建迁移.最后输入以下内容:
Update-Database
Update-Database -Script -SourceMigration:0
Run Code Online (Sandbox Code Playgroud)
最后一个命令将从您的实体类创建数据库表(假设您的实体类格式正确).
对于使用实体框架核心的人都在这里结束。这就是你的做法。
# Powershell / Package manager console
Script-Migration
# Cli
dotnet ef migrations script
Run Code Online (Sandbox Code Playgroud)
您可以使用-Fromand -To参数生成更新脚本,以将数据库更新为特定版本。
Script-Migration -From 20190101011200_Initial-Migration -To 20190101021200_Migration-2
Run Code Online (Sandbox Code Playgroud)
https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/#generate-sql-scripts
此命令有几个选项。
在从迁移应该是运行脚本之前应用到数据库的最后一个迁移。如果未应用任何迁移,请指定
0(这是默认设置)。该来的迁移是将运行该脚本后应用到数据库的最后一个迁移。这默认为项目中的上一次迁移。
的幂等可任选地生成的脚本。该脚本仅在尚未将迁移应用于数据库的情况下才应用。如果您不完全知道上一次应用到数据库的迁移是什么,或者如果您要部署到可能每个迁移不同的多个数据库,这将很有用。
| 归档时间: |
|
| 查看次数: |
91495 次 |
| 最近记录: |