Flyway 和 gradle kotlin dsl

Rod*_*sta 6 gradle flyway kotlin gradle-kotlin-dsl

我正在从 Gradle 迁移到 Gradle Kotlin DSL,我有一个问题。有

flyway {
    url = System.getenv ('DB_URL')
    user = System.getenv ('DB_USER')
    password = System.getenv ('DB_PASSWORD')
    baselineOnMigrate = true
    locations = ["filesystem: resources / db / migration"]
}
Run Code Online (Sandbox Code Playgroud)

在 Gradle 中。

你会如何看待 Kotlin DSL?

Yon*_*bbs 9

块中的代码在 Kotlin 中与在 Groovy 中几乎完全相同,除了上面的两个例外:

  • 对字符串使用双引号而不是单引号。
  • 使用arrayOf而不是[...]用于locations属性的数组。

换句话说,它将如下所示:

flyway {
    url = System.getenv("DB_URL")
    user = System.getenv("DB_USER")
    password = System.getenv("DB_PASSWORD")
    baselineOnMigrate = true
    locations = arrayOf("filesystem: resources / db / migration")
}
Run Code Online (Sandbox Code Playgroud)

请记住,要让构建文件了解flyway功能(以及让 IDE 为您提供块中可用选项的智能感知等),您需要使用Gradle Plugins DSL应用 Flyway 插件,如下所示build.gradle.kts文件顶部:

plugins {
    id("org.flywaydb.flyway") version "5.2.4"
}
Run Code Online (Sandbox Code Playgroud)