2017-02-28 54 views
1

Liquibase是编排数据库更改的好工具。我在集群环境中启动时运行liquibase变更集。第一个应用程序实例放入一个锁(在数据库更改日志表)并执行更改集。其他情况下,他们抓住锁,只是将被执行的变更集标记为MARK_RAN。到现在为止还挺好。liquibase databasechangelog不显示机器名称

最近有一个问题,我不得不深入到databasechangelog表的细节。我期待在元信息中看到实例名称(机器名称)。但我在那里找不到它。有没有一种方法可以自定义liquibase行为,以便将实例名称作为元信息写入数据库交换日志表中?

谢谢!

回答

1

这可能必须是对Liquibase本身的改变 - 您无法通过配置进行任何操作。 DATABASECHANGELOGLOCK表具有用于该目的的列LOCKEDBY,但DATABASECHANGELOG表被设计为不在意。如果您想在更改部署时跟踪谁正在运行Liquibase,那么您必须执行类似于我们在Datical所做的操作 - 我们使用自定义代码来封装Liquibase。我们有一个班级在发生部署时倾听来自Liquibase的事件,然后我们将这些信息写入“审计”数据库,以便跟踪所有这些情况。

+0

我很感谢你的回答。谢谢! – aug70co