如何将系统属性传递给 Grails 3 数据库迁移命令

How to pass system properties to Grails 3 database migration commands

我正在尝试将系统 属性 传递给 dbm 命令 - 例如:

grails -Ddb.host=localhost dbm-gorm-diff

但是系统属性被忽略了。

我尝试将以下内容添加到 build.gradle

[bootRun, test, dbmUpdate, dbmGormDiff, runCommand].each { task ->
    configure(task) {
        systemProperties = System.properties
    }
}

它适用于 run-app 但不适用于 dbm 命令。

添加 run-command 似乎有效:

grails -Ddb.host=localhost run-command dbm-gorm-diff

您可以为所有命令更一般地定义它,无论您如何执行它们。

project.tasks.withType(ApplicationContextCommandTask) {
    systemProperties = System.properties
}