创建liquibase变更集验证规则

时间:2019-06-29 21:03:57

标签: java maven liquibase

如何创建liquibase变更集自定义规则?

问题

我想在我的团队中制定规则,使人们在不知情的情况下不要对液基进行危险的更改。我认为这是危险的事情,尤其是那些使数据库无法在应用程序的旧版本中使用,导致无法回滚的事情。

我认为的解决方案 创建一个自定义规则以验证变更集,在该变更集中我们禁止更改,例如: dropColumn,删除,dropTable,renameColumn

所有这些更改都会破坏Maven的构建,除非对同一个变更集有注释,例如“我知道我在做什么”。

问题

liquibase是否提供我可以创建此规则的任何扩展点?

1 个答案:

答案 0 :(得分:2)

您是否考虑过引入代码审查?另一方面,如果您的目标不是禁止使用dropColumn,而是对其进行注释以确保开发人员知道他/她在做什么,则可以引入两个接口,例如BackwardCompatibleLiquibaseBackwardIncompatibleLiquibase-第一个接口将包含“安全”方法,而另一个将包含所有方法。

恕我直言,最好教育团队中的人员如何进行不会破坏数据库的更改,而不是引入变更集验证器,因为如果没有人审查变更集,那么人们就有可能会入侵您的验证器或添加示例对每个变更集评论“我知道我在做什么”,以便构建始终可以通过