在我们的构建服务器中,我们针对一个数据库部署了许多功能分支。问题是有时一个分支中的一些错误脚本导致LB退出而不释放锁。问题是没有简单的方法来找出导致这个问题的分支。我们可能会有多达30个分支机构不断部署,因为对分支机构进行了新的更改。
是否有任何方式(或者我们可以在Liquibase中使用新功能)来设置实例名称,并且名称可以存储在表DATABASECHANGELOGLOCK的LOCKEDBY列中,以便我们可以轻松找出导致问题的分支/实例?
目前,LOCKEDBY只有IP,所有实例都相同。
答案 0 :(得分:2)
您可以指定插入 LOCKEDBY 列的系统属性:
System.setProperty("liquibase.hostDescription", "some value");
答案 1 :(得分:1)
我认为你需要在这里修补Liquibase:
以某种方式获取附加变量(属性文件/ env变量/ etc)并存储在表中。
顺便说一下,请注意使用相同的数据库实例部署多个分支,因为您可能会在一个分支的DB结构中进行更改,这将会破坏另一个分支。