我可以撤消 ReadyRoll 中的 'Mark as Deployed' 选项吗?

Can I undo 'Mark as Deployed' option in ReadyRoll?

我将 2 个脚本标记为已部署并签入了对 TFS 的更改。我可以在 ReadyRoll 项目中撤消此操作吗?

当您单击 标记为已部署 时,ReadyRoll 会在目标数据库中的 [__MigrationLog] table 中插入一行,以防止脚本被re-executed.

要撤消此操作,只需从目标数据库中删除记录,例如

DELETE FROM [dbo].[__MigrationLog] WHERE script_filename = '0001_20161125-1446_username.sql'

如果您有很多服务器要撤消'mark as deployed':

  • 如果脚本是迁移,generate a new guid 并替换 <Migration ID="{guid}"/> 元数据中的值(可以在脚本的 header 中找到)。
  • 如果脚本是可编程的 Object,则只需对文件添加一个微不足道的更改(例如添加一些白色 space)。这足以触发对 checkum 的更改,导致脚本为 re-deployed.