首页 > 解决方案 > 如果 UNIQUE 索引具有字段上定义的函数,jOOQ 代码生成器不会生成相应的索引

问题描述

我有一个如下的唯一索引来实现项目名称不区分大小写的唯一约束

CREATE UNIQUE INDEX IF NOT EXISTS unique_project_name__idx ON project (UPPER(name));

似乎 jOOQ 代码生成器不会在Indexes.java中为此类 UNIQUE 索引生成相应的常量。

但是,它适用于没有 UPPER() 函数的索引

CREATE UNIQUE INDEX IF NOT EXISTS unique_project_name__idx ON project (name);
// corresponding generation in Indexes.java
public static Index UNIQUE_PROJECT_NAME__IDX = Internal.createIndex("unique_project_name__idx", Project.PROJECT, new OrderField[] { Project.PROJECT.NAME }, true);

我使用 jOOQ 3.13.2和 PostgreSQL 11.2

任何想法?

citext是不区分大小写的唯一约束的更好方法吗

标签: postgresqljooq

解决方案


这是 jOOQ 3.13 中缺少的功能:https ://github.com/jOOQ/jOOQ/issues/6310


推荐阅读