jOOQ
Install
Add bellow code your build.gradle.kts
dependencies {
implementation("io.github.momosetkn:liquibase-kotlin-custom-jooq-change:4.32.0-0.9.2")
}
Use customKomapperJdbcChange
execute is required, rollback is optional. the callback argument type is org.jooq.DSLContext
.
import momosetkn.liquibase.kotlin.parser.KotlinCompiledDatabaseChangeLog
import momosetkn.liquibase.kotlin.change.custom.komapper.customJooqChange
class CompiledDatabaseChangelog1 : KotlinCompiledDatabaseChangeLog({
changeSet(author = "your_name", id = "20241007-2000-1") {
customJooqChange(
execute = { db ->
val query =
"""
CREATE TABLE created_by_komapper (
id uuid NOT NULL,
name character varying(256)
);
""".trimIndent()
db.execute(query)
},
rollback = { db ->
val query = "DROP TABLE created_by_komapper"
db.execute(query)
},
)
}
})
databaseChangeLog {
changeSet(author = "your_name", id = "20241007-2000-1") {
customJooqChange(
execute = { db ->
val query =
"""
CREATE TABLE created_by_komapper (
id uuid NOT NULL,
name character varying(256)
);
""".trimIndent()
db.execute(query)
},
rollback = { db ->
val query = "DROP TABLE created_by_komapper"
db.execute(query)
},
)
}
}
Configure org.jooq.DSLContext
override the momosetkn.liquibase.kotlin.change.custom.jooq.LiquibaseJooqConfig.provideDSLContext
example code
fun provideDSLContext(
javaxSqlDataSource: javax.sql.DataSource,
liquibaseDatabaseShortName: String
): org.jooq.DSLContext {
return DefaultDSLContext(javaxSqlDataSource, getDialect(liquibaseDatabaseShortName))
}
momosetkn.liquibase.kotlin.change.custom.jooq.LiquibaseJooqConfig.provideDSLContext = ::provideDSLContext
Last modified: 21 March 2025