我想在Grails中生成多列唯一约束,例如在以下实体类
中定义的约束class Relationship {
Element source
Element destination
Type type
// other properties omitted
static constraints = {
type unique: ['source', 'destination']
}
}
但我不希望在验证过程中激活该约束,因为它消耗了大量资源(请参阅alternative to grails multicolumn unique constraint (optimistic inserts))以获取统计信息。
有没有办法实现这一目标?有哪些替代方法可以自动生成唯一索引(检查现有索引)?
答案 0 :(得分:0)
我在一个应用程序中完成了这个,我知道列的值是基于它们的生成方式是唯一的,所以我不希望Grails在验证期间运行select查询,但是希望数据库检查以防万一发生了一件奇怪的事。
我会使用数据库迁移来完成此操作。添加您喜欢的任何约束和索引,以及保持代码和数据库同步所需的更新(例如,添加/删除列或表,更改列类型等)。