我正在尝试排除使用TypeSafe配置时由Liquibase创建的两个表。
jooq {
# databasechangelog = Liquibase generated tables
# databasechangeloglock = Liquibase generated tables
excludes = "databasechangelog, databasechangeloglock"
}
当我只提供"databsechangelog"
之类的排除时,它可以正常工作。
不止一个排除项应以逗号(http://www.jooq.org/doc/2.6/manual/code-generation/codegen-configuration/)分隔,而是生成两个表。
也不允许这样做。
excludes = "databasechangelog", "databasechangeloglock"
在库中,它简化了调用(注意: getExcludes 是String
)
database.setExcludes(new String[]{StringUtils.defaultString(d1.getExcludes())});
还有其他人遇到过这个问题吗?
这是我的代码生成
new GenerationTool {
setConnection(connection)
run(new Configuration {
withGenerator(new Generator {
withName(config.jooq.generatorClass)
withDatabase(new org.jooq.util.jaxb.Database {
withIncludes(config.jooq.includes)
withExcludes(config.jooq.excludes)
withInputSchema(config.jooq.inputSchema)
withName(config.jooq.databaseClass)
})
withTarget(new Target {
withPackageName(config.jooq.pkg)
withDirectory(config.jooq.directory)
})
withGenerate(new Generate {
setDaos(true)
})
})
})
}
答案 0 :(得分:2)
您正在引用2.6版本的手册。在过去,我们在包含/排除中使用以逗号分隔的表达式列表 - 但不管你信不信,有人在表/列名中有逗号,这就是我们抛弃逗号的原因。毕竟,包含/排除只是正则表达式,您可以使用“联合运算符”管道来分隔您的各个模式:|
即。写:
jooq {
# databasechangelog = Liquibase generated tables
# databasechangeloglock = Liquibase generated tables
excludes = "databasechangelog|databasechangeloglock"
}
此处还会在“功能删除”部分中进行说明(查找“以逗号分隔”): http://www.jooq.org/doc/latest/manual/reference/migrating-to-3.0