2015-06-18 12 views
0

如果我指定迁飞:同时使用自定义和Java回调

flyway.callbacks=com.myclass.CustomCallBack

它被称为正常,但我发现它似乎抑制SQL回调功能。有什么办法可以兼得?我注意到有一个SqlScriptFlywayCallback,但这是你的'内部'类之一....

回答

1

目前唯一的方法是同时提及内部类和你自己的。请在问题跟踪器中提交增强请求。

+0

会这样,谢谢。 –

0

作为一个简单的解决方法,您可以像Axel建议的那样初始化SqlScriptFlywayCallback。以下是我如何做的,给出初始化的飞行实例:

DbSupport dbSupport; 
try { 
    dbSupport = DbSupportFactory.createDbSupport(flyway.getDataSource().getConnection(), false); 
} catch (SQLException e) { 
    throw new RuntimeException("Could not get connection to database"); 
} 

final FlywayCallback runSqlCallbacks = new SqlScriptFlywayCallback(
     dbSupport, 
     flyway.getClassLoader(), 
     new Locations(flyway.getLocations()), 
     new PlaceholderReplacer(flyway.getPlaceholders(), 
       flyway.getPlaceholderPrefix(), 
       flyway.getPlaceholderSuffix()), 
     flyway.getEncoding(), 
     flyway.getSqlMigrationSuffix() 
); 

flyway.setCallbacks(
     runSqlCallbacks, 
     new MyCallback(...));