Доктрина 2 - Как я могу добавить ограничение CHECK .. IN - PullRequest
2 голосов
/ 24 января 2012

Как добавить ограничение CHECK .. IN, как в коде ниже, в Doctrine 2?

CREATE TABLE table_name (
    colum_name VARCHAR(1) 
    CHECK (column_name IN ('A','B','C'))
);

- edit: я использую аннотации для определения моих сущностей

1 Ответ

3 голосов
/ 30 января 2012

Это не поддерживается самой ORM.Вы можете определить пользовательский DDL, который будет использоваться для этих столбцов через драйвер метаданных.Например, в AnnotationDriver вы можете использовать /** @Column(type="string", columnDefinition="VARCHAR(1) CHECK (column_name IN ('A','B','C'))") */, как определено в Справочнике аннотаций .В любом случае, я бы избегал этого и оставлял эти проверки на уровне приложений.

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