我目前正在将旧版应用程序迁移到symfony2,问题是我有很多mysql枚举列,我知道该学说不支持枚举数据类型,一种解决方法是存储为字符串,但我真的会失去正确排序数据的能力,因为varchars要慢得多, 我确实有很多带有枚举数据类型的表,修改架构真的很难,我有什么选择?你能建议什么能让过渡到symfony2更加顺利?
试试这个它对我有用
http://symfony.com/doc/current/reference/configuration/doctrine.html#reference-dbal-configuration
在 app/config/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
然后你可以使用例如
@ORMColumn(type="string", columnDefinition="ENUM('A', 'B')")
你有两个解决方案
- 解决方案 1:映射到瓦尔查尔
- 解决方案 2:定义类型
有关更多信息,请参阅此链接: Mysql 枚举原则