我目前在迁移到Symfony2的遗留应用程序的过程中,问题是,我有很多的MySQL枚举列的,我知道,教义不支持枚举数据类型和一个解决方法是存储为一个字符串,但我真的会失去对数据正确地分类的能力,因为VARCHAR处理是慢了很多,我也有很多的表与枚举数据类型和修改架构将是真的很辛苦,我有哪些选择? 你能表明将进行转变,Symfony2的顺畅了很多?
Answer 1:
你有两个解决方案
- 解决方案1:映射到VARCHAR处理
- 方案2:定义类型
有关详细信息,请参考以下链接: Mysql的枚举主义
Answer 2:
试试这个它为我工作
http://symfony.com/doc/current/reference/configuration/doctrine.html#reference-dbal-configuration
在app /配置/ config.yml文件中添加
mapping_types:
enum: string
如下面
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
mapping_types:
enum: string
那么你可以使用如
@ORM\Column(type="string", columnDefinition="ENUM('A', 'B')")
文章来源: Best strategy for migrating mysql enums to doctrine entities with symfony2?