Jooq 代码生成 "excludes" 不适用于类型安全配置
Jooq code generation "excludes" not working with typesafe config
我试图在使用 TypeSafe Config 时排除由 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)
})
})
})
}
您引用的是 2.6 版的手册。在过去,我们在 includes/excludes 中使用逗号分隔的表达式列表 - 但不管你信不信,有些人的 table/column 名称中有逗号,这就是我们丢弃逗号的原因。毕竟,包含/排除只是正则表达式,您可以使用 "union operator"、竖线分隔您的个人模式:|
即写:
jooq {
# databasechangelog = Liquibase generated tables
# databasechangeloglock = Liquibase generated tables
excludes = "databasechangelog|databasechangeloglock"
}
"feature removals" 部分中也记录了这一点(查找 "comma-separated"):
http://www.jooq.org/doc/latest/manual/reference/migrating-to-3.0
我试图在使用 TypeSafe Config 时排除由 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)
})
})
})
}
您引用的是 2.6 版的手册。在过去,我们在 includes/excludes 中使用逗号分隔的表达式列表 - 但不管你信不信,有些人的 table/column 名称中有逗号,这就是我们丢弃逗号的原因。毕竟,包含/排除只是正则表达式,您可以使用 "union operator"、竖线分隔您的个人模式:|
即写:
jooq {
# databasechangelog = Liquibase generated tables
# databasechangeloglock = Liquibase generated tables
excludes = "databasechangelog|databasechangeloglock"
}
"feature removals" 部分中也记录了这一点(查找 "comma-separated"): http://www.jooq.org/doc/latest/manual/reference/migrating-to-3.0