Интегрируйте Liquibase Groovy DSL в Spring Boot - PullRequest
0 голосов
/ 07 мая 2020

Попытка интегрироваться следующим образом: build.gradle

dependencies {
    implementation 'org.liquibase:liquibase-core'
    implementation 'org.liquibase:liquibase-groovy-dsl:2.1.1'
    runtimeOnly 'com.h2database:h2'
    runtime 'org.liquibase:liquibase-core'
    runtime 'org.liquibase:liquibase-groovy-dsl:2.1.1'
}

В Spring Boot application.properties

spring.liquibase.changeLog=classpath:db/changelog/changeset0002.groovy

Иметь соответствующий файл changeset0002.groovy в src/main/resources/db/changelog.

При выполнении gradle bootRun возникает следующее исключение:

Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1

1 Ответ

0 голосов
/ 10 мая 2020

Работает. В моем файле application.properties со следующими настройками он заработал:

spring.liquibase.change-log=classpath:META-INF/scripts/changeset0001.groovy

где каталоги META-INF / scripts существуют под src / main / resources моей Gradle структуры проекта и changeset0001. groovy - это обычный Groovy DSL-файл.

...