当前位置: 首页 > 知识库问答 >
问题:

liquibase databasechangelog不显示计算机名称

公冶谦
2023-03-14

Liquibase是协调数据库更改的好工具。我在集群环境中启动时运行liquibase变更集。第一个应用程序实例放置一个锁(在databasechangeloglock表中)并执行变更集。其他实例在抓取锁时,只将执行的变更集标记为MARK_RAN。到现在为止,一直都还不错。

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

非常感谢。

共有1个答案

程毅
2023-03-14

这可能必须对Liquibase本身进行更改——您无法对配置做任何事情。DATABASE CHANGELOGLOCK表确实有一个列LOCKEDBY用于该目的,但DATABASE CHANGELOG表旨在不在乎。如果您想在部署更改时跟踪谁在运行Liquibase,您必须像我们在Datical所做的那样做——我们有包装Liquibase的自定义代码。我们有一个类,可以在部署发生时监听来自Liquibase的事件,然后我们将该信息写入“审计”数据库以跟踪所有这些。

 类似资料:
  • 问题内容: 我有一个python代码在名为A的远程计算机上进行一些计算。我通过名为B的计算机通过A连接到A。是否可以在B的计算机上显示图形? 问题答案: 如果在远程计算机(B)上的Mac OS X上使用matplotlib,则必须首先确保使用基于X11的显示后端之一,因为本机Mac OS X后端无法将其图导出到另一个显示。选择后端可以通过 可以通过提供不正确的后端名称来获得受支持的后端列表:mat

  • 我正在尝试创建一个程序,在这个程序中,我可以计算2个随机生成的数字,并将它们显示在中。该程序正在中成功显示随机数,但它只计算生成的第一组数字。 我希望它能够计算随机生成的所有数字集。

  • 问题内容: 我想知道是否有一种方法可以用Java获取计算机名称?我已经看到了该功能的几个答案。但是我想知道是否存在不使用网络的方法? (作为一个附带的问题,计算机名称是否仍然只是一个网络事物,因此必须以这种方式进行??) 问题答案: 操作系统的基础DNS(域名系统)库从IP地址 解析 计算机“名称”。跨操作系统没有通用的计算机名称概念,但DNS通常可用。如果尚未配置计算机名称,以便DNS可以解析它

  • 问题内容: 这是我的代码: 但是,当我运行代码时,该表不显示列名。我在这一行设置1时,它仅显示一个空行: 请告诉我我的代码在哪里错误?谢谢! 编辑:有人问了同样的问题(JTable中没有标题),但是答案是将Jtable添加到JScrollPane,这对@@无济于事。编辑:嗨, 丹 ,我已经添加了完整的Constructor,这是方法的代码: 谢谢! 问题答案: 您使用了错误的方式。为使其正常工作,

  • 问题内容: 我正在制作一个对等即时消息传递应用程序。 当前,如果UserA.pool.net对UserB.pool.net说“你好”,则用户A看到“你:你好”,而用户B看到“ UserA.pool.net:你好”。 我希望他们不要看到用户A的名称,而是希望他们看到自己计算机的主机名,以便用户A看到与用户B相同的文本。 问题答案: 简短的答案是,如果您 确实 希望用户A和用户B看到相同的文本,则不能

  • 我在数字海洋上有一个开发服务器,使用的是Ubuntu 14.04。我把我的外壳换成了ZSH,并决定采用不可知论者的主题。为了让< code>user@hostname停止显示,我在我的。zshrc文件。 由于某种原因,在 ubuntu 服务器上,这不起作用。主机名仍然显示,并且不会消失。我正在Mac OSX上做同样的事情,它工作正常。 以下是一些截图: 有人知道发生了什么吗?我甚至尝试了< cod