Client
This explains how to use the liquibase client. It is a client implemented in Kotlin, it is easy to use.
install
Update your build.gradle.kts.
If you use liquibase-kotlin-starter-compiled or liquibase-kotlin-starter-script, already installed.
dependencies {
implementation("io.github.momosetkn:liquibase-kotlin-client:4.32.0-0.9.2")
}
update command
import momosetkn.liquibase.client.LiquibaseDatabaseFactory
import momosetkn.liquibase.client.configureLiquibase
fun main() {
configureLiquibase {
global {
general {
showBanner = false
logLevel = "debug"
}
}
}
// set your database
val database = LiquibaseDatabaseFactory.create(
driver = "com.mysql.cj.jdbc.Driver",
url = "jdbc:mysql://localhost:3306/test_db",
username = "root",
password = "",
)
// set changelog and database
val client = momosetkn.liquibase.client.LiquibaseClient(
changeLogFile = /* your changeLog file path here */,
database = database,
)
// execute migrate
client.update()
}
liquibase-kotlin is provide client for kotlin.
momosetkn.liquibase.client.configureLiquibase
methods is can global liquibase parameter. If you want confirm each parameter. can confirm by official-document.
diffChangeLog command
import momosetkn.liquibase.client.LiquibaseDatabaseFactory
import momosetkn.liquibase.client.configureLiquibase
fun main() {
configureLiquibase {
global {
general {
showBanner = false
logLevel = "debug"
}
}
}
// set your database
val targetDatabase = LiquibaseDatabaseFactory.create(
driver = "com.mysql.cj.jdbc.Driver",
url = "jdbc:mysql://localhost:3306/target_test_db",
username = "root",
password = "",
)
val referanceDatabase = LiquibaseDatabaseFactory.create(
driver = "com.mysql.cj.jdbc.Driver",
url = "jdbc:mysql://localhost:3306/ref_test_db",
username = "root",
password = "",
)
// set changelog and database
val client = momosetkn.liquibase.client.LiquibaseClient(
changeLogFile = "src/main/kotlin/Example.kt",
database = targetDatabase,
)
val ps = PrintStream(ByteArrayOutputStream())
client.diffChangeLog(
referenceDatabase = referenceDatabase,
outputStream = ps,
)
}
generateChangeLog command
import momosetkn.liquibase.client.LiquibaseDatabaseFactory
import momosetkn.liquibase.client.configureLiquibase
fun main() {
configureLiquibase {
global {
general {
showBanner = false
logLevel = "debug"
}
}
}
// set your database
val database = LiquibaseDatabaseFactory.create(
driver = "com.mysql.cj.jdbc.Driver",
url = "jdbc:mysql://localhost:3306/target_test_db",
username = "root",
password = "",
)
// set changelog and database
val client = momosetkn.liquibase.client.LiquibaseClient(
changeLogFile = "src/main/kotlin/Example.kt",
database = database,
)
val ps = PrintStream(ByteArrayOutputStream())
client.generateChangeLog(
outputStream = ps,
)
}
Last modified: 14 October 2024