【问题标题】:Flyway migration not working with gradleFlyway迁移不适用于gradle
【发布时间】:2016-11-14 13:10:12
【问题描述】:

我正在尝试使用 gradle 脚本迁移一些 SQL 表:

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']
}

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.

test 数据库 中创建了 schema_version 表,但未创建表 place

flyway的目录结构为:

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

我是否缺少飞行路线的一些额外设置?很遗憾,我没有收到任何错误消息。

【问题讨论】:

  • 看起来正确,什么是:operational-db目录?你只提过一次。
  • @Opal:对不起,我写错了脚本目录的名称。我已经编辑了错误。
  • 您的脚本名称似乎也错误,请调查命名部分:flywaydb.org/documentation/migration/sql
  • 命名约定是个问题。能否请您写一个答案,以便我投票给它正确的答案?

标签: sql gradle flyway


【解决方案1】:

您似乎认为迁移脚本的名称不正确。请适当地命名脚本 - see Naming section

【讨论】:

  • __(2个下划线)应注意
猜你喜欢
  • 2017-08-16
  • 2014-12-29
  • 2019-12-27
  • 2017-04-20
  • 2013-06-22
  • 2020-01-20
  • 2013-03-03
  • 2016-06-16
  • 2019-01-16
相关资源
最近更新 更多