代码之家  ›  专栏  ›  技术社区  ›  Deepesh Rathore

如何更新现有变更集

  •  3
  • Deepesh Rathore  · 技术社区  · 6 年前

    我想更新非常旧的变更集,因为其中有一个bug。我已经更新了那个changesetid,运行它之后,我得到了校验和错误,即校验和被修改了。现在,我用这个新的校验和添加了validCheckSum标记。成功后,我看不到新的变化。是否有任何方法更新已执行的更改集。

    3 回复  |  直到 6 年前
        1
  •  3
  •   Sasikumar Murugesan    5 年前

    每个 changeSet 标签由id标签和作者标签的组合唯一标识,因此请检查 id author name 已存在或不在 DATABASECHANGELOG 桌子如果存在组合,则更改 身份证件 然后运行构建

    如果仍然不起作用,则添加 runOnChange 中的属性 <ChangeSet> 试试看

    runOnChange-如果发现任何更改已经存在更改集,则执行该更改

        2
  •  0
  •   Igor Vuković    5 年前

    使用示例 runOnChange(运行更改) 在带有sqlFile标记的变更集中。 我为Oracle 18编写了一个使用标识列类型的脚本,然后必须为不支持标识列类型的Oracle 10更改它

     <changeSet id="2" author="auto" runOnChange="true">
            <sqlFile dbms="oracle" encoding="utf8" endDelimiter=";" path="oracle/230.sql" relativeToChangelogFile="true" splitStatements="true" stripComments="true" />
      </changeSet>
    
        3
  •  0
  •   Mad Scientist    5 年前

    如果如您所述是一个非常旧的变更集,您应该考虑不更改旧的变更集,而是添加一个新的变更集来修复错误,因为它允许您更好地控制现有的版本。这是使用液化酶的主要原因之一。