1

我使用liquidbase来比较两个数据库:

call liquibase --driver=com.mysql.jdbc.Driver ^
  --classpath=../lib/mysql-connector-java-5.1.20-bin.jar ^
  --url="jdbc:mysql://localhost:3306/skryb" ^
  --username=skryb ^
  --password=skryb ^
  --changeLogFile=%Build%.xml ^
  updateSQL > %Build%.sql 2>e2

我怎样才能避免这样的行:

INSERT INTO数据库变更日志.....

在输出 SQL 中?

谢谢。

4

1 回答 1

2

您不能... 这些是用于跟踪应用于数据库的变更集的基本操作。

您可以通过某种过滤器传递 SQL,但最终得到的 SQL 并不代表 liquibase 通常会执行的操作。更重要的是,如果您将过滤后的 SQL 应用到您的数据库,那么如果您尝试自动迁移(它会认为变更集未应用),则会导致 liquibase 以后出现问题。

我猜你是想向像 DBA 这样的第三方展示 SQL 吗?在这种情况下,向他们展示 liquibase 在做什么,演示如何记录对数据库的每次更改。将其作为应用程序的审计功能出售。

于 2013-07-07T11:04:15.187 回答