Php 使用symfony2将mysql枚举迁移到条令实体的最佳策略?
我目前正在将一个遗留应用程序迁移到symfony2,问题是我有很多mysql enum列,我知道Dority不支持enum数据类型,一个解决方法是将其存储为字符串,但我真的会失去正确排序数据的能力,因为varchars的速度要慢得多,我有很多带有枚举数据类型的表,修改模式非常困难,我的选择是什么??您有什么建议可以使到symfony2的过渡更加顺利?您有两种解决方案Php 使用symfony2将mysql枚举迁移到条令实体的最佳策略?,php,symfony,doctrine,Php,Symfony,Doctrine,我目前正在将一个遗留应用程序迁移到symfony2,问题是我有很多mysql enum列,我知道Dority不支持enum数据类型,一个解决方法是将其存储为字符串,但我真的会失去正确排序数据的能力,因为varchars的速度要慢得多,我有很多带有枚举数据类型的表,修改模式非常困难,我的选择是什么??您有什么建议可以使到symfony2的过渡更加顺利?您有两种解决方案 解决方案1:映射到Varchars 解决方案2:定义类型 有关更多信息,请参阅此链接:您有两种解决方案 解决方案1:映射到V
- 解决方案1:映射到Varchars
- 解决方案2:定义类型
- 解决方案1:映射到Varchars
- 解决方案2:定义类型
有关更多信息,请参阅此链接:试试这个,它对我有用 在app/config/config.yml文件中添加
mapping_types:
enum: string
e、 g以下
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')")
试试这个它对我有用 在app/config/config.yml文件中添加
mapping_types:
enum: string
e、 g以下
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')")
解决方案1是不可能的,因为它会使数据库速度慢得多。解决方案2,我必须为每个唯一的枚举创建多个类,是否有办法只为枚举创建一个类型类,并将实体定义中所需的选项作为参数传递?我认为目前没有其他解决方案:(好吧,这肯定会给我的计划泼上一盆冷水!我可能最终会使用解决方案2,但这将是一个缓慢的过程,谢谢你a.aitboudad!解决方案1是不可能的,因为它会使数据库的速度慢很多。解决方案2,我必须为每个唯一的枚举创建许多类,有没有办法只为枚举并将实体定义中所需的选项作为参数传递??我认为目前没有任何其他解决方案:(好吧,这肯定会给我的计划泼上一盆冷水!我可能最终选择解决方案2,但这将是一个缓慢的过程,谢谢你a!