我想使用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
文件。
答案 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)