何らかの理由で、Javaコード内でliquibaseを実行することに関する文書はありません。ユニットテスト用のテーブルを生成したい。Javaコード内でのliquibaseの実行
どうすればJavaで直接実行できますか?
java.sql.Connection c = YOUR_CONNECTION;
Liquibase liquibase = null;
try {
Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(c))
liquibase = new Liquibase(YOUR_CHANGELOG, new FileSystemResourceAccessor(), database);
liquibase.update();
} catch (SQLException e) {
throw new DatabaseException(e);
} finally {
if (c != null) {
try {
c.rollback();
c.close();
} catch (SQLException e) {
//nothing to do
}
}
}
があなたのchangelogファイルが見つかるはず方法に応じResourceAccessorの複数の実装があります。
Liquibase liquibase = new Liquibase()
liquibase.runUpdates() ?
http://forum.liquibase.org/topic/using-liquibase-directly-from-javaを見ましたか? – artbristol