Я пытаюсь использовать Flyway и jOOQ вместе с Spring Boot (spring-boot-starter-jooq
и автоматически сконфигурированный Flyway, оба обрабатываются Spring)
Моя проблема заключается в том, что генерация кода jOOQ выполняется до миграции Flyway, поэтому jOOQ нене вижу изменений, сделанных Flyway.
Я попытался установить dependsOn
для задачи генератора jOOQ на flywayMigrate
, но оказалось, что Flyway запускается только при запуске.Плагин Flyway Gradle не применяется, поэтому у меня нет задачи flywayMigrate
.
Когда я попытался добавить его в конфигурацию Gradle, следуя официальному руководству Flyway:
apply plugin: "org.flywaydb.flyway"
flyway {
url = 'jdbc:postgresql://localhost:5432/myDb'
user = 'myUsr'
password = 'mySecretPwd'
schemas = ['public']
}
Я получилисключение:
java.lang.NoClassDefFoundError: org.flywaydb.core.internal.util.jdbc.DriverDataSource
Что я делаю не так?Как мне настроить это так, чтобы они хорошо работали вместе?
Обратите внимание, что у меня есть драйвер PostgreSQL и Flyway Core в качестве зависимости:
implementation "org.postgresql:postgresql:42.2.5"
implementation "org.flywaydb:flyway-core"
, поэтому он должен работать.Вероятно, это проблема Gradle vs Flyway vs Spring, потому что Flyway работает, когда я запускаю приложение Spring.