如何提交Redgate Migration V2迁移脚本

时间:2013-10-16 10:30:32

标签: sql-server version-control redgate

在SQL源代码管理中提交Migration V2脚本时的工作流程是什么?

  • 我是否需要运行迁移脚本以在提交之前将更改应用于开发数据库?
  • 如果是,我是否 MigrationHistory?

1 个答案:

答案 0 :(得分:1)

将以相反的顺序回答这些问题。

您需要同时检查表格和迁移历史记录TVF。这样,比较引擎就会在源代码管理中记录表的新状态,因此它知道旧表不应该存在。

注意 - 这是迁移v2的测试版,并且UI未处于最终状态。我们希望减少这种混乱,以便迁移脚本显然取代了drop和table的创建。

是否在本地运行迁移脚本取决于您在此过程中添加迁移脚本的时间。

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

  • 编写脚本(包含sp_rename命令)
  • 在本地运行脚本以重命名本地表
  • 签入脚本(和表)以便其他开发人员和环境接收更改

这是大多数迁移方案的一般情况,在这种情况下,您可以预先设置数据丢失方案并围绕它编写脚本。但是,特别是对于表重命名方案,还有另一种方法可以追溯性地执行操作:

  • 在本地重命名表(使用智能重命名或标准重命名)
  • 转到“提交”标签,然后在数据丢失警告屏幕中单击“添加迁移脚本”帮助程序(请参阅下面的第一张图片)
  • 自动生成sp_rename和合适的防护 条款(见第二张图)。在这种情况下,您不需要运行它,因为 你已经做出了改变
  • 继续照常提交。

Data Loss Warning and Migrations Helper

Automatic sp_rename