可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

从对象生成DDL

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

当使用 jOOQ 的 代码生成器时,会生成一整套元数据,例如模式、表、列、数据类型、约束、默认值等。

此元数据可用于生成任何 SQL 方言的 DDL CREATE 语句,以便在新数据库实例上部分恢复原始模式。 例如,当使用 Oracle 生产数据库和 H2 内存测试数据库时,这尤其有用。 以下代码生成模式的 DDL

// SCHEMA is the generated schema that contains a reference to all generated tables
Queries ddl =
DSL.using(configuration)
   .ddl(SCHEMA);

for (Query query : ddl.queries()) {
    System.out.println(query);
}

当执行以上代码时,您应该看到类似以下内容

create table "PUBLIC"."AUTHOR"(
  "ID" int not null,
  "FIRST_NAME" varchar(50) null,
  "LAST_NAME" varchar(50) not null,
  ...
  constraint "PK_AUTHOR"
    primary key ("ID")
)
create table "PUBLIC"."BOOK"(
  "ID" int not null,
  "AUTHOR_ID" int not null,
  "TITLE" varchar(400) not null,
  ...
  constraint "PK_BOOK"
    primary key ("ID")
)
...
alter table "PUBLIC"."BOOK"
  add constraint "FK_BOOK_AUTHOR_ID"
    foreign key ("AUTHOR_ID")
    references "AUTHOR" ("ID")

请注意,这些功能仅恢复原始模式的部分。 例如,jOOQ 生成的元数据无法使用的供应商特定存储子句无法通过这种方式重现。

反馈

您对此页面有任何反馈吗? 我们很乐意听到您的反馈!

The jOOQ Logo