2013-01-18 29 views
0

我想知道是否有方法讓Flyway接受實際的SQL遷移作爲字符串或流而不是在類路徑中搜索它? 我正在構建Java中的SQL遷移,並且想要調用Flyway API並將遷移作爲參數傳遞。 請讓我知道這是否可能。 謝謝傳遞流或字符串到Flyway API而不是位置

回答

0

不完全是你要求的,但看起來像Java-based migrations可能是一個解決方案。

基本上,而不是V1_0__script.sql你寫V1_0__script.java類實施JdbcMigration。該類裏面你可以訪問JDBC Connection

class V1_0__script implements JdbcMigration { 
    public void migrate(Connection connection) throws Exception { 
    //... 
    } 
} 

migrate()你可以自由地運行您的自定義SQL查詢。

0

沒有API可用爲此。

但是,如果您即時構建SQL,那麼一定可以在一次構建一條語句。然後,您可以使用Connection參數執行每個語句,其中包括參數JdbcMigration

+0

Axel,謝謝。讓我確定我明白你在說什麼。由於沒有辦法將語句傳遞給JdbcMigration,我實際上可以在JdbcMigration類中構造它們,然後僅使用API​​執行一個包含所有語句的類。我想這應該工作...我理解你的建議嗎? – user1411018

相關問題