如何使用JOOQ创建模式?

时间:2016-05-04 15:52:35

标签: java sql jooq

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

router

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

但我想知道是否有一种更优雅的方式来创建一个使用JOOQ的模式?

感谢

1 个答案:

答案 0 :(得分:1)

目前,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
  • CREATE TEMPORARY TABLE