繁体   English   中英

如何使用JOOQ创建模式?

[英]How to create schema with JOOQ?

尝试使用JOOQ 3.5.x创建Vertica表:

Connection connection = create();
DSLContext dslContext = DSL.using(connection);
Field<String> myColumn = DSL.field("my_column", SQLDataType.VARCHAR);
Table table = DSL.tableByName("my_schema", "my_table");
dslContext.createTable(table)
        .column(myColumn, myColumn.getDataType())
        .execute();

这在Schema "my_schema" does not exist失败

我可以解决它:

dslContext.execute("create schema if not exists my_schema");

但我想知道是否有更优雅的方式来创建JOOQ架构?

谢谢

目前,JOOQ仅涵盖可以对服务器执行的可能DDL语句的子集,并且尚未包含模式管理,因此您必须回退以规划旧SQL。

如果你需要做很多DDL工作,你应该开始查看最新版本3.8,因为它已经扩展了包含的功能

  • CREATE TABLE或ALTER TABLE语句中的DEFAULT列值
  • 如果在DROP语句中存在
  • 如果不是CREATE语句中的EXISTS
  • ALTER TABLE .. {RENAME | RENAME COLUMN | RENAME CONSTRAINT}语句

版本3.6添加

  • ALTER TABLE ADD CONSTRAINT(带UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK)
  • ALTER TABLE DROP CONSTRAINT
  • 创建临时表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM