我对Symfony2中的Doctrine的YAML配置有疑问。
我已经通过“ doctrine:generate:entity”创建了一个实体,并选择了YAML作为映射格式。这没有在../Entity/"MyEntity".php上添加任何元数据,这将允许我更新或创建模式。
例如,如果我跑步
./app/console doctrine:schema:create
它失败,说:
[RuntimeException]
Bundle "MySuperBundle" does not contain any mapped entities.
我的自动映射已经设置为“ true”。
如果我选择使用批注配置,这将不是问题。
我错过了什么?我应该采取其他步骤吗?
预先感谢您,
伊万
我只是很开心地查看了Doctrine配置初始化代码。我发现的是:
type
值保留为falsetype
是假的配置代码看起来转化为可能的配置文件的默认目录,并尽快找到有效扩展的文件,它决定了这是配置正在做的方式,顺序为xml
,yml
,php
annotation
Bundle/Resources/config/doctrine
文件夹中是否还有其他内容?如果是这样,它可能会放弃自动检测功能。
除此之外,基本上,如果您使用默认值,并且具有一些实体类和有效的配置,则您所做的工作应该可以正常进行,而无需任何其他配置。您已经说过“ auto_mapping”是正确的,但是您是否更改了Doctrine配置的任何其他位?
尝试显式配置内容可能是一个主意,例如,如Symfony Doctrine docs中所述,从默认配置开始
doctrine:
dbal:
driver: "%database_driver%"
#etc
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
明确
doctrine:
dbal:
driver: "%database_driver%"
#etc
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: false
mappings:
MySuperBundleName:
type: yml
dir: Resources/config/doctrine
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句