【问题标题】:How to remove DATABASECHANGELOG from liquibase sql diff output?如何从 liquibase sql diff 输出中删除 DATABASECHANGELOG?
【发布时间】:2013-07-07 19:04:15
【问题描述】:

我用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 INTODATABASECHANGELOG.....

在输出 SQL 中?

谢谢。

【问题讨论】:

    标签: liquibase


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      相关资源
      最近更新 更多