多个连接无法识别选项“mapping_types”
Posted
技术标签:
【中文标题】多个连接无法识别选项“mapping_types”【英文标题】:Unrecognized option "mapping_types" by multiple connections 【发布时间】:2015-07-14 22:05:54 【问题描述】:我正在尝试将“enum”类型添加到我的 symfony2 dbal 连接中,但我找不到方法。
doctrine:
dbal:
mapping_types:
enum: string
default_connection: default
connections:
default:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
connection2:
driver: "%database2_driver%"
host: "%database2_host%"
port: "%database2_port%"
dbname: "%database2_name%"
user: "%database2_user%"
password: "%database2_password%"
charset: LATIN1
这是我现在的配置,我收到了错误:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
Unrecognized option "mapping_types" under "doctrine.dbal"
我还尝试将其放在 connection2 下方并删除了 default_connection,因为我找到了解决此类问题的答案。但这些问题并没有多重联系。
【问题讨论】:
【参考方案1】:mapping_types
必须位于混凝土连接下。所以你需要下一个配置:
doctrine:
dbal:
default_connection: default
connections:
default:
mapping_types:
enum: string
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
connection2:
mapping_types:
enum: string
driver: "%database2_driver%"
host: "%database2_host%"
port: "%database2_port%"
dbname: "%database2_name%"
user: "%database2_user%"
password: "%database2_password%"
charset: LATIN1
【讨论】:
你是对的,但这不是 Symfony 文档描述 Doctrine 配置的方式。见symfony.com/doc/3.3/reference/configuration/…。示例 clear 显示了教义.dbal 本身中的 mapping_types。 @JasonGabler,在提供的文档中,如果存在多个连接,则没有关于密钥mapping_types
所在位置的信息。但是您可以从连接中与其他键进行类比。关键 mapping_types
依赖于 connection
与 driver
或 host
相同,因此它们应该在具体连接下的一个块中。【参考方案2】:
按照完整参考,必须在指定的连接元素下设置mapping_types
。
查看here了解更多详情
希望有帮助
【讨论】:
你是对的,但这不是 Symfony 文档描述 Doctrine 配置的方式。在您提供的 Symfony 文档链接中,示例 clear 显示了学说.dbal 本身中的 mapping_types。以上是关于多个连接无法识别选项“mapping_types”的主要内容,如果未能解决你的问题,请参考以下文章