2015-11-16 68 views
0

你好我使用flyway來版本化我的數據庫,但是我現在就開始了,我有疑問。如果我有兩個文件與sqls指令和第一個文件所有sqls指令是正確的,但在第二個有一個錯誤,如果我做遷移與飛行第一個文件的說明將包括在我的數據庫,但我想要它插入這兩個文件的所有說明是正確的,有人已經經歷過這樣的事情?只有在我的遷移文件中所有指令都正確的情況下如何輸入數據?

我的代碼如下。

 flyway.setDataSource(con,user,pass); 
    flyway.setSchemas("database"); 

    //Repara o banco para inserir as novas migrações 
    flyway.repair(); 

    //Insere as migrações no banco de dados 
    flyway.migrate(); 

V1_file.sql

CREATE TABLE flyway (
    name VARCHAR(100) 
    ); 

V2_file.sql

alter table flyway add x int 

alter table flyway add y int 

v3_file.sql

CREATE TABLE flyway (
    name VARCHAR(100) 
    ); 

如果它發生了類似的情況,以便在飛行用表已經存在每s輸入一次數據ql文件沒有任何錯誤 很簡單,但我真的需要這個。

對不起我的英語是可怕的。

回答

0

Flyway在事務內部運行每個遷移。如果您希望將語句提交或回滾到一起,則必須將它們放在相同的.sql文件中。

+0

我明白了,程序員必須確保sql文件是正確的。 –

相關問題