Сделать поле уникальным на основе значения логического поля с несколькими столбцами в домене grails - PullRequest
0 голосов
/ 06 февраля 2020

Я использую версию grails-2.5.2. У меня есть поле, которое я хочу сделать уникальным на основе двух полей. Но если значение поля isActive равно true, то в нем будет одна строка с таким же roll. Но если false, то несколько записей могут быть сохранены с одним и тем же roll. Мой класс ниже:

    class Student {

    Integer roll
    String name
    Boolean isActive

    static constraints = {
      name(unique: ['roll', 'isActive'])
    }
}

Может ли кто-нибудь помочь мне, пожалуйста?


На самом деле я хочу уникальный как этот - name(unique: ['roll', 'isActive' == true])

1 Ответ

1 голос
/ 06 февраля 2020

На самом деле я хочу уникальное имя, подобное этому - имя (уникальное: ['roll', 'isActive' == true])

У нас нет никаких конкретных c поддержка в GORM до express что-то в этом роде. Вам понадобится express это ограничение в вашем собственном коде в приложении.

Я не уверен на 100%, и это может зависеть от того, какие базы данных вы должны поддерживать, но я не думаю, что быть хорошим способом express такого рода ограничения в вашей базе данных либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...