【发布时间】:2018-08-15 15:30:35
【问题描述】:
我的 gradle.build(使用 nu.studer.jooq 插件)
jooq {
MyProject(sourceSets.main) {
generator {
database {
name = 'org.jooq.meta.extensions.ddl.DDLDatabase'
properties {
property {
key = 'scripts'
value = 'src/main/resources/database.sql'
}
}
inputSchema = ''
outputSchema = 'something'
// schemata {
// schema {
// inputSchema = "" // I've tried this too
// outputSchema = 'something'
// }
// }
forcedTypes {
forcedType {
name = 'varchar'
expression = '.*'
types = 'JSONB?'
}
forcedType {
name = 'varchar'
expression = '.*'
types = 'INET'
}
}
}
generate {
relations = true
springAnnotations = true
deprecated = false
fluentSetters = true
// ...
}
target {
packageName = 'com.springforum'
}
}
}
}
在构建过程中,它可以很好地生成模式,但即使我设置了 outputSchema,它仍然使用PUBLIC 模式作为输出(我尝试使用空字符串和非空字符串)
更新:仅当inputSchema 为空时才会出现问题,我尝试使用另一个带有架构的 sql 脚本,它按预期工作
【问题讨论】:
-
为什么将
inputSchema留空?这是不允许的。但是你想用它来实现什么? -
因为我的 sql 文件不使用模式(它是从 pg_dump 生成的,并且没有选项可以更改它),例如:CREATE TABLE table_name ();。我通过手动添加架构解决了这个问题,但我希望有办法让我这样做
-
我明白了,我的错。我忽略了你正在使用
DDLDatabase
标签: jooq