0

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

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

1 回答 1

1

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

您确实需要检查表和迁移历史 TVF。这是因为比较引擎在源代码管理中记录了表的新状态,因此它知道旧表不应该存在。

注意 - 这是迁移 v2 的测试版,UI 不是最终状态。我们想让这变得不那么混乱,以便迁移脚本很明显替换了表的删除和创建。

是否在本地运行迁移脚本在一定程度上取决于您何时在进程中添加迁移脚本。

如果您按照场景在文档中的工作示例中重命名没有数据的表,则假设您尚未在本地开发机器上重命名该表。在这种情况下,过程是:

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

这是大多数迁移场景的一般情况,在这些场景中,您要抢占数据丢失场景并围绕它编写脚本。然而,特别是对于表重命名场景,还有另一种追溯方式:

  • 在本地重命名表(使用智能重命名或标准重命名)
  • 转到提交选项卡,然后单击数据丢失警告屏幕中的“添加迁移脚本”助手(请参见下面的第一张图片)
  • 这会自动生成 sp_rename 和合适的保护子句(参见第二张图片)。在这种情况下您不需要运行它,因为您已经进行了更改
  • 继续正常提交。

数据丢失警告和迁移助手

自动 sp_rename

于 2013-10-16T11:52:44.153 回答