代码第一次迁移到生产数据库中
问题描述:
我有两个数据库,DEV和TEST。代码第一次迁移到生产数据库中
DEV由我维护,过去几周我一直在使用代码优先进行迁移。
TEST由DBA管理,他们希望提供SQL脚本以便将数据库更新到最新版本。
这是在这种情况下首先使用代码我的第一次,我认为我会需要使用命令
Update-Database -Script
但是它不是很简单。
我在寻找的是一种指定上次应用于数据库的迁移方式。
因此,例如,我已经迁移编号为1.0,1.1,1.2,1.3,1.4等
我知道测试正在运行1.2版和DEV是在1.6,我想更新TEST 1.5 (请注意,这不是最新的版本)构建该脚本的命令是什么?
我试图
update-database -Script -TargetMigration "v1.5"
但是这比迁移1.5到我的DEV数据库,给了我一个脚本,从滚动V1.6是dev的背是背到1.5,而不是一个脚本来更新到1.6
我知道我可以将项目中的连接字符串更改为指向TEST数据库,然后运行该命令,但是这看起来像是一种解决方法 - 必须有一种方法可以指定要开始的迁移以及迁移的内容编写脚本?
理想情况下,我想这样做而不将我的开发数据库回滚到与TEST相同的版本。
答
如果你在你的包管理控制台中运行以下您得到了更新,数据库命令的详细帮助:
get-help Update-Database -detailed
从那里,你可以看到参数,我想这是你所需要的。
-SourceMigration <String>
Only valid with -Script. Specifies the name of a particular migration to use
as the update's starting point. If omitted, the last applied migration in
the database will be used.
-TargetMigration <String>
Specifies the name of a particular migration to update the database to. If
omitted, the current model will be used.
正是我所需要的。谢谢 – 5NRF