postgresql - 生成重复的唯一约束名称

标签 postgresql grails grails-orm grails-2.0

为域类定义唯一约束时,grails 会为数据库生成一个基于属性名称的约束名称。 当使用 Postgres 作为数据库时,名称将为以下约束定义的“unique_language”。

   static constraints = {
      language nullable: false, unique: 'product'
   }

当我现在有第二个域类时,它对同名属性也有唯一约束,grails 将再次创建一个名为“unique_language”的数据库约束。 问题是,对于 Postgres,唯一约束的名称对于数据库模式也必须是唯一的。这意味着在我们的例子中,第二个 约束未应用于数据库。

有没有办法自定义或定义唯一的索引名称?

我正在寻找是否可以增强 NamingStrategy,但我找不到可以进行更改的地方。

我们目前使用的是 grails 2.4.4

最佳答案

此问题已在 Grails 3.1.0.RC2 中修复:https://github.com/grails/grails-data-mapping/issues/623

关于postgresql - 生成重复的唯一约束名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592092/

相关文章:

mysql - 如何在 GORM 表架构更改后让系统正常工作?

json - 将 JSON 绑定(bind)到嵌套的 Grails 域对象

mysql - mysql 的 maxSize 为 25000 的 grails 2.3.1 问题

postgresql - 连接到我的 RoR 的 Heroku Postgres 数据库?

python - 如何在不使用 ORM 的情况下使用 Flask Web 应用程序配置 postgresql?

grails - Grails/Groovy:无法将对象转换为java.util.Set(Twitter克隆项目)

version-control - 解决Grails项目的插件的路径/依赖关系

ruby-on-rails - HOW TO:使用OS X 10.10+上运行Ruby on Rails 4,Postgres,Unicorn,Nginx和端口转发的VirtualBox设置Vagrant

python - 如何通过 SQLAlchemy 中的自定义函数进行排序

grails - 在Cloud Foundry中链接两个应用程序