Liquibase:如何导出自上次导入以来的更改?

时间:2013-02-25 14:45:51

标签: database liquibase

我正在使用Liquibase 2.0.5。我有以下过程:

  1. 将Liquibase导出更改为XML文件。
  2. 登录数据库并运行一些db命令(例如ALTER TABLE ...
  3. 将步骤2中所做的更改导出为Liquibase变更集。
  4. 我的问题是,我该如何做第3步?我使用以下脚本来执行第1步...

    /opt/liquibase/liquibase --driver=com.mysql.jdbc.Driver \
      --classpath=~/.m2/repository//mysql/mysql-connector-java/5.1.15/mysql-connector-java-5.1.15.jar \
      --changeLogFile=~/db.changelog.xml \
      --url="jdbc:mysql://localhost:3306/db" \
      --username=user \
      --password=pass \
      generateChangeLog
    

1 个答案:

答案 0 :(得分:6)

你根本不应该做“手动”ALTER TABLE陈述。一旦您使用Liquibase 所有 架构更改应该通过它。做手工ALTER陈述完全违背了Liquibase的目的。

如果您确实无法避免绕过Liquibase,请使用diffdiffChangeLog命令查看增量(http://www.liquibase.org/manual/command_line

如果您发现自己经常这样做,您应该重新思考为何以及如何使用Liqubiase。