使用grails唯一约束仅用于生成DDL

时间:2015-03-19 15:14:44

标签: grails gorm

我想在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))以获取统计信息。

有没有办法实现这一目标?有哪些替代方法可以自动生成唯一索引(检查现有索引)?

1 个答案:

答案 0 :(得分:0)

我在一个应用程序中完成了这个,我知道列的值是基于它们的生成方式是唯一的,所以我不希望Grails在验证期间运行select查询,但是希望数据库检查以防万一发生了一件奇怪的事。

我会使用数据库迁移来完成此操作。添加您喜欢的任何约束和索引,以及保持代码和数据库同步所需的更新(例如,添加/删除列或表,更改列类型等)。