如何在Gradle任务中执行SQL?
configurations {
compile
}
repositories {
mavenCentral()
}
dependencies {
compile 'postgresql:postgresql:9.0-801.jdbc4'
}
task sql << {
driverName = 'org.postgresql.Driver'
Class.forName(driverName)
groovy.sql.Sql sql = Sql.newInstance(
'jdbc:postgresql://localhost:5432/postgres',
'username',
'password',
driverName
)
sql.execute 'create table test (id int not null)'
sql.execute 'insert into test (id) values(1)'
sql.eachRow 'select * from test' {
println it
}
}
我得到一个java.lang.类未发现异常:org.postgresql.Driver执行sql任务时异常
5条答案
按热度按时间tsm1rwdh1#
要定义构建脚本本身的外部依赖项,必须将其放入构建脚本的类路径中,可以在
buildscript
闭包中定义它。piv4azn72#
如果你不介意依赖其他工具,你可以在你的项目中使用dbdeploy,还有一个gradle plugin可以让你导入SQL脚本。
pprl5pva3#
或者:
ovfsdjhp4#
找到了runsql-gradle-plugin,它允许执行自定义Gradle任务中定义的SQL脚本文件。
将这些字符串添加到我的 build.gradle.kts 后:
我可以通过以下方式执行 data.sql:
yzuktlbb5#
这里有一种方法: