2016-07-12 46 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命名部分。