假设我在几个数据源中定义了一个名为Client的域类,并在字段“name”上创建了唯一约束:

class Client {
    static mapping = {
        datasources(['ds1', 'ds2'])
    }

    String name

    static constraints = {
        name unique: true
    }
}

唯一约束将应用于所有数据源,即,如果我在数据源ds1中创建一个名为“client1”的客户端,那么我将无法在数据源ds2中创建具有相同名称的客户端。
我希望字段“名称”对于给定的数据源是唯一的,而不是在所有数据源中都是唯一的,以相同的方式可以将字段“名称”定义为对于一个或多个其他字段的给定值是唯一的(s)。实际上,这是Grails 2.0之前默认情况下与Datasources插件一起使用的方式。你知道怎么做吗 ?

最佳答案

如果那是它的工作方式,那就是一个错误。请在http://jira.grails.org/browse/GRAILS中创建问题

关于grails - 在Grails 2.0中使用多个数据源定义唯一约束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9178664/

10-13 05:19