【问题标题】:How to pass system properties to Grails 3 database migration commands如何将系统属性传递给 Grails 3 数据库迁移命令
【发布时间】:2018-04-03 21:57:06
【问题描述】:

我正在尝试将系统属性传递给 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 命令。

【问题讨论】:

    标签: grails gradle database-migration system-properties


    【解决方案1】:

    添加run-command 似乎有效:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 有了这个我得到Error initializing classpath: Could not get unknown property 'ApplicationContextCommandTask' for root project - 无论如何,问题是无论使用何种配置(显式或通用)系统属性都不适用于 dbm 命令。到目前为止,我发现的唯一解决方法是使用 run-command
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 2017-01-08
      • 1970-01-01
      • 2017-03-02
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多