[英]Add mysql specific ROW_FORMAT=DYNAMIC to create table statement generated by jooq
我有一個應用程序,我需要向后移植到mysql 5.6。
此應用程序使用相當大的復合鍵,在mysql 5.7上運行正常,因為默認情況下啟用了innodb-large-prefix。
我可以配置mysql 5.6使用innodb-large-prefix,但它還需要使用ROW_FORMAT=DYNAMIC
或COMPRESSED
創建表。
這是我想用jooq
實現的SQL示例:
CREATE TABLE `domain` (
`path` varchar(300) NOT NULL,
UNIQUE KEY `index1` (`path`)
) ROW_FORMAT=DYNAMIC;
這些是mysql 5.6文檔供參考:
https://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html https://dev.mysql.com/doc/refman/5.6/en/innodb-row-format.html https: //dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_large_prefix
您可以使用CreateTableStorageStep.storage()
方法將自定義存儲子句添加到CREATE TABLE
語句。 例如
ctx.createTable("domain")
.column("path", VARCHAR(300).nullable(false))
.constraint(constraint("index1").unique("path"))
.storage("ROW_FORMAT=DYNAMIC")
.execute();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.