首页 > 解决方案 > 推荐的 Liquibase 挂钩,将执行的 SQL 审计到数据库表中

问题描述

为了使开发阶段的 liquibase 故障排除更容易,我想在运行目标 liquibase:update 时对 liquibase 进行挂钩,以使每个成功执行的 SQL 都由 liquibase 插入到表中。我找不到有关如何执行此操作的任何信息。通过源代码,我可以猜测覆盖类方法 JdbcExecutor.execute 似乎是实现这一目标的一种可能性。但这不是一个干净的解决方案,因为我使用 maven 来运行 liquibase:update 目标。

标签: liquibase

解决方案


编写自己的扩展是一种方法,但在我看来,仅使用 --logLevel=debug 并从那里收集 SQL 可能是完成您想要的更好的方法。这不会将其放入数据库中,但您将拥有所需的信息。您还可以updateSQL在运行命令之前运行该update命令以获取将生成的 SQL。


推荐阅读