JOOQ 使用索引创建 table
JOOQ Creating table with indices
根据文档,使用 JOOQ 创建 table:
context.createTable("table")
.column("column1", INTEGER)
.column("column2", VARCHAR(10).nullable(false))
.constraints(
primaryKey("column1"),
unique("column2"),
foreignKey("column2").references("some_other_table"),
check(field(name("column2")).like("A%"))
)
.execute();
但是,似乎也可以在 table 创建时声明索引:
context.createTable("table")
.column("column1", INTEGER)
.column("column2", VARCHAR(10).nullable(false))
.constraints(
primaryKey("column1"),
unique("column2"),
foreignKey("column2").references("some_other_table"),
check(field(name("column2")).like("A%"))
)
.indexes(...indices)
.execute();
我在说明如何执行此操作的文档中找不到任何内容。
以这种方式声明索引的正确方法是什么?
jOOQ 3.15 尚不支持此特定语法:
https://github.com/jOOQ/jOOQ/issues/9243
您可以通过多种方式自行实现,例如:
或者,您可以使用 jOOQ DSL 运行 两个单独的语句 API:
CREATE TABLE
CREATE INDEX
根据文档,使用 JOOQ 创建 table:
context.createTable("table")
.column("column1", INTEGER)
.column("column2", VARCHAR(10).nullable(false))
.constraints(
primaryKey("column1"),
unique("column2"),
foreignKey("column2").references("some_other_table"),
check(field(name("column2")).like("A%"))
)
.execute();
但是,似乎也可以在 table 创建时声明索引:
context.createTable("table")
.column("column1", INTEGER)
.column("column2", VARCHAR(10).nullable(false))
.constraints(
primaryKey("column1"),
unique("column2"),
foreignKey("column2").references("some_other_table"),
check(field(name("column2")).like("A%"))
)
.indexes(...indices)
.execute();
我在说明如何执行此操作的文档中找不到任何内容。
以这种方式声明索引的正确方法是什么?
jOOQ 3.15 尚不支持此特定语法: https://github.com/jOOQ/jOOQ/issues/9243
您可以通过多种方式自行实现,例如:
或者,您可以使用 jOOQ DSL 运行 两个单独的语句 API:
CREATE TABLE
CREATE INDEX