2013-10-16 40 views
0

在SQL源代码管理中提交迁移V2脚本时的工作流程是什么?如何提交Redgate迁移V2迁移脚本

  • 我需要在提交之前运行迁移脚本以将更改应用于开发数据库吗?
  • 如果是这样,我是否承诺均为 MigrationHistory?
+0

的文档(http://documentation.red-gate.com/display/MV2/Renaming+a+table+without+data+loss)认为答案是是(步骤4)和是(步骤7)。 –

回答

1

会以相反的顺序回答这些。

你需要在表格和迁移历史TVF都进行检查。这是因为比较引擎记录了源代码管理中表的新状态,因此它知道旧表不应该在那里。

NB - 这是迁移V2的测试版本和UI是不是在它的最终状态。我们希望这样做不那么容易混淆,因此迁移脚本显然会替代表格的删除和创建。

无论您在本地或无法运行迁移脚本取决于当你在过程中加入您的迁移脚本上一点点。

如果您按照该方案重命名文档中的worked example中没有数据的表,它假定您尚未重命名本地开发机器上的表。在这种情况下,这个过程是:

  • 编写脚本(其中包含一个sp_rename命令)
  • 运行脚本本地重命名你的本地表脚本
  • 检查(并表),以便其他开发并且环境会采用更改

这是大多数迁移场景的一般情况,您需要预先处理数据丢失情况并对其进行脚本编写。但是专门为表重命名方案中还有另一种方式来做事追溯:

  • 重命名本地表(使用智能重命名或标准重命名)
  • 转到提交选项卡并单击“添加迁移脚本'帮手在数据丢失警告屏幕(见下面的第一张图片)
  • 自动生成sp_rename和一个合适的防卫 子句(见第二图)。你并不需要在这种情况下运行它,因为 你已经作出的改变
  • 继续提交为正常。

Data Loss Warning and Migrations Helper

Automatic sp_rename