Flyway с Gradle - как перейти на загрузку приложения? - PullRequest
0 голосов
/ 16 марта 2020

Я хочу, чтобы flyway мигрировал при запуске приложения ./gradlew run. Я использую фреймворк для микронавтов.

Я могу запустить миграцию вручную с терминала ./gradlew flywayMigrate -i, но я бы хотел, чтобы это происходило автоматически.

Мой build.gradle -

buildscript {
    dependencies {
        classpath 'org.postgresql:postgresql:42.2.8'
    }
}

plugins {
    id "groovy"
    id "com.github.johnrengelman.shadow" version "5.2.0"
    id "application"
    id "org.flywaydb.flyway" version "6.3.1"
}

version "0.1"
group "example.micronaut"

repositories {
    mavenCentral()
    maven { url "https://jcenter.bintray.com" }
}

configurations {
    // for dependencies that are needed for development only
    developmentOnly
}

dependencies {
    annotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
    compileOnly platform("io.micronaut:micronaut-bom:$micronautVersion")
    compileOnly "io.micronaut:micronaut-inject-groovy"
    implementation platform("io.micronaut:micronaut-bom:$micronautVersion")
    implementation "io.micronaut:micronaut-runtime-groovy"
    implementation "io.micronaut:micronaut-validation"
    implementation "io.micronaut:micronaut-http-server-netty"
    implementation "io.micronaut:micronaut-http-client"
    runtimeOnly "ch.qos.logback:logback-classic:1.2.3"
    testCompileOnly platform("io.micronaut:micronaut-bom:$micronautVersion")
    testImplementation platform("io.micronaut:micronaut-bom:$micronautVersion")
    testImplementation("org.spockframework:spock-core") {
        exclude group: "org.codehaus.groovy", module: "groovy-all"
    }
    testImplementation "io.micronaut:micronaut-inject-groovy"
    testImplementation "io.micronaut.test:micronaut-test-spock"
    testImplementation "io.micronaut.test:micronaut-test-junit5"
}

test.classpath += configurations.developmentOnly

mainClassName = "example.micronaut.Application"
tasks.withType(GroovyCompile) {
    groovyOptions.forkOptions.jvmArgs.add('-Dgroovy.parameters=true')
}

shadowJar {
    mergeServiceFiles()
}

tasks.withType(JavaExec) {
    classpath += configurations.developmentOnly
    jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')
}

flyway {
    url = 'jdbc:postgresql://db:5432/hello'
    user = 'hello'
    password = 'hello'
}

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...