如何使用Java在liquibase中生成更改日志文件

时间:2014-08-25 16:46:06

标签: java liquibase

我想使用Java在liquibase中生成一个更改日志XML文件,它存储两个数据库的信息差异。

我的代码是:

Database database=CommandLineUtils.createDatabaseObject(MySQLConnection.class.getClassLoader(), 
                "jdbc:mysql://localhost:3306/test", "root", "admin", "com.mysql.jdbc.Driver", "", null,false,false,null,null,null,null);

        Database database2=CommandLineUtils.createDatabaseObject(MySQLConnection.class.getClassLoader(), 
                "jdbc:mysql://localhost:3306/pizzashop", "root", "admin", "com.mysql.jdbc.Driver", "", null,false,false,null,null,null,null);
      CommandLineUtils.doDiffToChangeLog("changelog.xml", database2, database,new DiffOutputControl(),null,null);

但它会生成一个空白的changelog.xml文件。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。使用liquibase 2.0.3版本。

代码是:

Database database=CommandLineUtils.createDatabaseObject(MySQLConnection.class.getClassLoader(), 
                "jdbc:mysql://localhost:3306/lportal", "root", "admin", "com.mysql.jdbc.Driver", 
                null,null,null);

        Database database2=CommandLineUtils.createDatabaseObject(MySQLConnection.class.getClassLoader(), 
                "jdbc:mysql://localhost:3306/llportal", "root", "admin", "com.mysql.jdbc.Driver",
                null,null,null);
    CommandLineUtils.doDiffToChangeLog("changeLogFile.xml",database, database2)