Gradle Exec Task不以远程主机上的psql开头

时间:2017-10-19 08:22:03

标签: gradle cmd psql

我需要在Gradle(版本4.2.1)中的远程数据库上执行SQL脚本。所以我尝试使用Exec任务。当数据库在我的本地计算机上时,该任务有效。使用远程主机时,任务无法启动。

这些是任务(第一个完美地运作)。

task psqlLocalExec(type: Exec) {
  commandLine 'cmd', '/c', 'psql -f myscript.sql'
}

task psqlRemoteExec(type: Exec) {
  commandLine 'cmd', '/c', 'psql -h my.remote.host -f myscript.sql' // not working
}

命令行输出(几分钟后我取消了它):

C:\myproject>gradlew :proj:psqlRemoteExec --stacktrace
<-------------> 0% EXECUTING [3m 43s]
> :proj:psqlRemoteExec

在cmd(没有Gradle)上,命令有效。

1 个答案:

答案 0 :(得分:1)

我的Password File Configuration在脚本中出错了。要修复可以设置环境变量:

<changeSet author="chorkeorg" id="1508234245316-1" logicalFilePath="V0/V0.0/V0.0.00/db.changelog-0.0.00.000.xml">
    <createSequence cacheSize="20" cycle="false"
        incrementBy="1" maxValue="999999999999999999999999999" minValue="10001"
        ordered="false" sequenceName="CK_SQ_AUTHOR" startValue="10181" />
</changeSet>