【问题标题】:liquibase databasechangelog doesn't show machine nameliquibase databasechangelog 不显示机器名称
【发布时间】:2017-07-19 21:59:52
【问题描述】:

Liquibase 是协调数据库更改的绝佳工具。我在集群环境中启动时运行 liquibase 变更集。第一个应用程序实例放置一个锁(在 databasechangeloglock 中)表并执行变更集。其他实例在获取锁时,只是将执行的变更集标记为MARK_RAN。到目前为止一切顺利。

最近有一个问题,我不得不深入研究 databasechangelog 表的细节。我期待在元信息中看到实例名称(机器名称)。但我在那里找不到。有没有办法自定义 liquibase 行为,以便将实例名称作为元信息写入 databasechangelog 表?

谢谢!

【问题讨论】:

    标签: liquibase


    【解决方案1】:

    这可能需要对 Liquibase 本身进行更改 - 您无法对配置进行任何操作。 DATABASECHANGELOGLOCK 表确实有一个列 LOCKEDBY 用于此目的,但 DATABASECHANGELOG 表旨在不关心。如果您想在部署更改时跟踪谁在运行 Liquibase,您必须执行我们在 Datical 所做的事情 - 我们有包装 Liquibase 的自定义代码。我们有一个类在部署发生时侦听来自 Liquibase 的事件,然后我们将该信息写入一个跟踪所有这些的“审计”数据库。

    【讨论】:

    • 感谢您的回答。谢谢!
    猜你喜欢
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多