2016-07-12 67 views
1

我試圖使用gradle這個腳本遷移某些SQL表工作:遷飛遷移不gradle這個

buildscript { 
    repositories { 
    maven { 
     url "https://plugins.gradle.org/m2/" 
    } 
    } 
    dependencies { 
    classpath 'gradle.plugin.com.boxfuse.client:flyway-release:4.0.3' 
    classpath group: 'org.postgresql', name: 'postgresql', version: '9.4.1208.jre7' 
    } 
} 

apply plugin: 'org.flywaydb.flyway' 

flyway { 
    user = 'postgres' 
    url = 'jdbc:postgresql://localhost:5432/test' 
    driver = 'org.postgresql.Driver' 
    locations = ['filesystem:scripts'] 
} 

而在腳本目錄我只有一個SQL腳本:

CREATE TABLE place (
    id VARCHAR(50) NOT NULL, 
    country VARCHAR(255), 
    country_code VARCHAR(255), 
    name VARCHAR(255), 
    PRIMARY KEY(id) 
); 

當我運行gradle flywayMigrate -i我得到的輸出:

Database: jdbc:postgresql://localhost:5432/test (PostgreSQL 9.5) 
Successfully validated 0 migrations (execution time 00:00.009s) 
Current version of schema "public": << Empty Schema >> 
Schema "public" is up to date. No migration necessary. 

測試數據庫schema_version表被創建,但表的地方沒有。

的目錄結構的遷徙路線是:

flyway-dir 
    -- build.gradle 
    -- scripts/001-add_place_table.sql 

我失去了飛行用一些額外的設置?這是非常不幸的,我沒有得到任何錯誤信息。

+0

看起來沒錯,什麼是:**操作數據庫**目錄?你只提一次。 – Opal

+0

@Opal:對不起,我爲腳本目錄寫了錯誤的名字。我編輯了這個錯誤。 – djWann

+0

它也似乎是你錯誤的腳本名稱,請調查_命名部分:https://flywaydb.org/documentation/migration/sql – Opal

回答

1

看來您已經知道遷移腳本命名不正確。請正確命名腳本 - see命名部分。