Database Integration
Database integration patterns for Java services using jOOQ and Flyway.
When to use this skill
-
Setting up jOOQ code generation
-
Creating Flyway migrations
-
Configuring read/write database splitting
-
Resolving jOOQ version conflicts
-
Reviewing SQL migration safety
Skill Contents
Sections
-
When to use this skill
-
Quick Start
-
Version Compatibility
-
References
-
Related Rules
-
Related Skills
Available Resources
📚 references/ - Detailed documentation
-
flyway
-
jooq
Quick Start
- Add Dependencies
gradle/libs.versions.toml
[versions] postgresql = "42.7.8" testcontainers = "1.21.4" jooq = "3.19.28" # Spring Boot 3.5.x BOM version flyway = "11.7.2"
[libraries] jooq = { module = "org.jooq:jooq", version.ref = "jooq" } jooq-codegen = { module = "org.jooq:jooq-codegen", version.ref = "jooq" } jooq-meta = { module = "org.jooq:jooq-meta", version.ref = "jooq" }
[plugins] flyway = { id = "org.flywaydb.flyway", version.ref = "flyway" } jooq = { id = "nu.studer.jooq", version = "9.0" }
- Apply jOOQ Configuration
// build.gradle plugins { alias(libs.plugins.flyway) alias(libs.plugins.jooq) }
apply from: "${project.rootDir}/gradle/jooq-config.gradle"
dependencies { implementation libs.jooq jooqGenerator libs.testcontainers.postgres, libs.postgres, libs.flyway.database.postgresql }
- Generate Code
./gradlew generateJooq
Version Compatibility
Java 21 (Gradle 8.x)
Component Version
jOOQ 3.19.28
jOOQ Plugin 9.0
Flyway 11.7.2
PostgreSQL Driver 42.7.8
Java 25 (Gradle 9.x)
Component Version
jOOQ 3.20.10
jOOQ Plugin 10.1.1
Flyway 11.19.0
PostgreSQL Driver 42.7.8
References
Reference Description
references/jooq.md jOOQ setup, code generation, read/write splitting
references/flyway.md Migration guidelines, locking, best practices
Related Rules
-
java-jooq - Full jOOQ reference
-
java-flyway-migrations - Flyway guidelines
Related Skills
Skill Purpose
gradle-standards Gradle configuration
java-testing Testing database code