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