postgresql - 如果 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是不区分大小写的唯一约束的更好方法吗?
解决方案
这是 jOOQ 3.13 中缺少的功能:https ://github.com/jOOQ/jOOQ/issues/6310
推荐阅读
- django-models - 如何使模型不区分大小写
- php - 将我的 Joomla 网站从 Apache 迁移到 NginX 时无法通过引用错误传递参数 1
- git - 如何仅在 git fork 中集成特定文件?
- kotlin - 暂停`withTimeout`
- java - 如果从 Tomcat 调用,Firefox headless 永远不会从截图中返回
- python - 如何打印 Tensorflow V2 keras 模型的所有激活形状(比 summary() 更详细)?
- function - 寻找关于隐式函数类型与显式函数类型的解释
- javascript - 手机关机时在 Chrome/Firefox 手机上重复音频
- oracle - 我可以在一台(本地)机器(Windows 10)上安装 Grid 和 Oracle DB 吗?
- apache-kafka - 连接 Kafka 3.0 中面临的问题 - org.apache.kafka.common.KafkaException:无法加载 SSL 密钥库