学说2 - 如何添加CHECK .. IN约束

时间:2012-01-24 00:35:29

标签: doctrine-orm

如何在Doctrine 2中添加CHECK .. IN约束,如下面的代码?

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

- 编辑:我使用注释来定义我的实体

1 个答案:

答案 0 :(得分:3)

ORM本身不支持此功能。您可以通过元数据驱动程序定义要用于这些列的自定义DDL。例如,在AnnotationDriver中,您可以使用Annotations Reference中定义的/** @Column(type="string", columnDefinition="VARCHAR(1) CHECK (column_name IN ('A','B','C'))") */。 无论如何,我会避免它,并将这些检查保持在应用程序级别。