未知数据库类型枚举请求学说
Posted
技术标签:
【中文标题】未知数据库类型枚举请求学说【英文标题】:Unknown database type enum requested doctrine 【发布时间】:2020-10-26 08:10:12 【问题描述】:我想在 symfony 5 中使用教义从现有数据库中生成实体,但我一直收到错误消息,因为它是全新安装的 symfony 5.1,而我正在使用 maraidb 10.4。
In AbstractPlatform.php line 440:
Unknown database type enum requested, Doctrine\DBAL\Platforms\mysqlPlatform may not support it.
我正在使用的指南https://symfony.com/doc/current/doctrine/reverse_engineering.html
【问题讨论】:
你应该避免使用枚举类型,而不是导入一个糟糕的解决方案,你应该看看komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil。如果你真的想使用它并且你同意他们将产生的所有问题,你可以创建一个EnumType as a custom mapping type。 【参考方案1】:Doctrine 无法从数据库中对整个模型进行逆向工程。有些情况是无法处理的——比如你的枚举。您将必须定义自定义类型,以告诉教义它必须如何处理它。
看看这个指南:
-> 滚动到“解决方案 2 定义类型”
https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/cookbook/mysql-enums.html#solution-1-mapping-to-varchars
【讨论】:
以上是关于未知数据库类型枚举请求学说的主要内容,如果未能解决你的问题,请参考以下文章