1.1 KiB
1.1 KiB
Ktor Plugin for Database Migration
This plugin enables code-based database migrations in Ktor using Kotlin Database Migration.
Installation
Add the following to your build.gradle.kts.
repositories {
maven("https://git.infendro.com/api/packages/Infendro/maven")
}
dependencies {
implementation("com.infendro:ktor-migration:1.0.2")
}
Usage
import com.infendro.ktor.migration.Migration
import io.ktor.server.application.*
import org.jetbrains.exposed.sql.Database
fun Application.configureDatabase() {
// connect to a database
Database.connect(
url = <url>,
user = <username>,
password = <password>,
)
// install the plugin
install(Migration) {
// create a migration
migration("initial") {
// execute code to migrate the database
}
}
}
How It Works
- Each migration is identified by a unique name.
- Migrations are executed in the order they are declared in.
- Executed migrations are tracked in a database table and skipped on subsequent runs.