liquibase :: 是否可以<validCheckSum>以编程方式删除标签



在Liquibase中,addautoincrement标记中的incrementby属性在4.16.1版本中引发验证错误。我不得不删除incrementby属性,它更改了md5sum。为了解决这个问题,我现在添加了<validCheckSum>1:any</validCheckSum>

我计划删除md5sum,让它自己在所有环境中填充。一旦不再需要<validCheckSum>1:any</validCheckSum>标记,我如何以编程方式删除它?

Liquibase论坛上也提出了类似的问题:

  • IncrementBy不适用于Liquibase 4.17中的MySQL

那篇帖子上的解决方案说:

我们通过用sql语句替换<addAutoIncrement>解决了这个问题:

<addAutoIncrement tableName=“Actief” columnName=“id” columnDataType=“BIGINT” incrementBy=“1” startWith=“1”/>
<sql>ALTER TABLE Actief MODIFY id BIGINT AUTO_INCREMENT</sql>
<sql>ALTER TABLE Actief AUTO_INCREMENT=1</sql>

如果你想在不再需要标签的时候删除它,你会不会只删除行

<validCheckSum>1:any</validCheckSum> 

并发布新版本?

不管怎样,我认为删除校验和不是一个好主意。

它为您提供了很好的安全性,脚本运行正确,运行一次后不会接受任何更改。

否则,每个人都可以更改这些脚本并重新运行它们——你会失去很多可跟踪性。

理想情况下,您应该在测试数据库上测试您的liquibase脚本,如果它们不好,则在此处恢复它们。但一旦它好了,就应该提交它,并在部署环境时让管道执行迁移脚本。

如果你想在之后纠正一些问题,你应该做一个新的liquibase脚本。

为了数据的完整性和数据库更改的可跟踪性,我至少会建议使用它。

相关内容

  • 没有找到相关文章

最新更新