2016-11-30 35 views
0

想生成從通過Java代碼liquibase一個SQL文件複製此命令生成數據導出SQL文件通過Java API使用Liquibase

java -jar liquibase.jar --changeLogFile="./data/filename" --diffTypes="data" generateChangeLog 

我用這作爲一個土生土長的SQL備份Java類的替代品

+0

只是對未來的有用的提示。當提問時,如果您包含以下內容,可能會得到更好的回覆: 您採取的所有步驟(在這種情況下,可能包括您使用的liquibase的版本,是否涉及其他文件,您是什麼平臺上,您正在使用什麼數據庫等) 什麼預期的結果是 實際結果是什麼 – SteveDonie

回答

0

類似下面應該做你想要什麼,我認爲:

ResourceAccessor resourceAccessor = new FileSystemResourceAccessor(); 
Database db = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(yourJdbcConnection)); 
Liquibase liquibase = new Liquibase("data/filename", resourceAccessor, db); 
try (Writer writer = new OutputStreamWriter(System.out)) { 
    liquibase.update((Contexts) null, writer); 
} 
+0

我在哪裏可以獲得上下文作爲符號無法解析? –

+0

FQDN是'liquibase.Contexts' – Vampire

+0

只是檢查更新時遇到解析文件名的錯誤,當我正在尋找使用SQL生成實際文件時,這將如何工作? –

相關問題