gpt4 book ai didi

grails - 仅限制年份字段的唯一约束

转载 作者:行者123 更新时间:2023-12-02 16:03:25 24 4
gpt4 key购买 nike

假设Event域类具有eventDate属性。此eventDate有一个唯一的约束,因此一个事件必须每年或每月是唯一的。如何在GORM中指定?

class Event{
String name
Date eventDate

static constraints{
eventDate() //----->unique per year or say month
}

}

最佳答案

你不能您将需要类似基于函数的索引之类的内容,该索引可基于列值的计算来构建索引。这是supported in Oracle和其他一些数据库,但是没有标准语法,也没有GORM支持。

当然,您可以针对在迁移脚本中使用的数据库明确地执行此操作,例如当使用database-migration插件时,但这将在数据库中完成,并且域类中将没有任何内容表明正在使用它。而且,如果您使用H2进行集成测试,则可能没有此功能并冒着在不同环境中获得不同结果的风险,或者必须在此处找出等效的语法。

另一个选择是小的非正规化,您可以在插入和更新之前添加第二列并在域类中计算其值,然后在该列上构建常规索引。

关于grails - 仅限制年份字段的唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27791819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com