如何在Doctrine 2中添加CHECK .. IN约束,如下面的代码?
CREATE TABLE table_name (
colum_name VARCHAR(1)
CHECK (column_name IN ('A','B','C'))
);
- 编辑:我使用注释来定义我的实体
答案 0 :(得分:3)
ORM本身不支持此功能。您可以通过元数据驱动程序定义要用于这些列的自定义DDL。例如,在AnnotationDriver
中,您可以使用Annotations Reference中定义的/** @Column(type="string", columnDefinition="VARCHAR(1) CHECK (column_name IN ('A','B','C'))") */
。
无论如何,我会避免它,并将这些检查保持在应用程序级别。