liquibase databasechangelog 不显示机器名称
liquibase databasechangelog doesn't show machine name
Liquibase 是编排数据库更改的好工具。我在集群环境中启动时 运行 liquibase 变更集。第一个应用程序实例放置一个锁(在数据库变更日志锁中)table 并执行变更集。其他实例在获取锁时,只是将执行的变更集标记为 MARK_RAN。到目前为止一切顺利。
最近有一个问题,我不得不深入研究数据库变更日志的细节table。我期待在元信息中看到实例名称(机器名称)。但我在那里找不到它。有没有一种方法可以自定义 liquibase 行为,以便将实例名称作为元信息写入数据库变更日志 table?
谢谢!
这可能必须对 Liquibase 本身进行更改 - 您无法对配置进行任何操作。 DATABASECHANGELOGLOCK
table 确实有一个用于此目的的列 LOCKEDBY
,但 DATABASECHANGELOG
table 旨在不关心。如果您想在部署更改时跟踪谁是 运行 Liquibase,您将不得不像我们在 Datical 所做的那样做一些事情——我们有包装 Liquibase 的自定义代码。我们有一个 class 在部署发生时侦听来自 Liquibase 的事件,然后我们将该信息写入一个 'audit' 数据库以跟踪所有这些。
Liquibase 是编排数据库更改的好工具。我在集群环境中启动时 运行 liquibase 变更集。第一个应用程序实例放置一个锁(在数据库变更日志锁中)table 并执行变更集。其他实例在获取锁时,只是将执行的变更集标记为 MARK_RAN。到目前为止一切顺利。
最近有一个问题,我不得不深入研究数据库变更日志的细节table。我期待在元信息中看到实例名称(机器名称)。但我在那里找不到它。有没有一种方法可以自定义 liquibase 行为,以便将实例名称作为元信息写入数据库变更日志 table?
谢谢!
这可能必须对 Liquibase 本身进行更改 - 您无法对配置进行任何操作。 DATABASECHANGELOGLOCK
table 确实有一个用于此目的的列 LOCKEDBY
,但 DATABASECHANGELOG
table 旨在不关心。如果您想在部署更改时跟踪谁是 运行 Liquibase,您将不得不像我们在 Datical 所做的那样做一些事情——我们有包装 Liquibase 的自定义代码。我们有一个 class 在部署发生时侦听来自 Liquibase 的事件,然后我们将该信息写入一个 'audit' 数据库以跟踪所有这些。