在Symfony中,src / AppBundle / Resources / config / doctrine / *。orm.yml文件的目的是什么?

时间:2016-03-03 07:21:48

标签: symfony orm doctrine-orm symfony-2.3

我想基于数据库表创建一个实体。我按照以下步骤操作:Doctrine/Symfony entity generator and generating entity from one table,即终端:

php bin/console doctrine:mapping:import --force AppBundle yml --force --filter="Client"

php bin/console doctrine:mapping:convert annotation ./src/AppBundle/Entity --from-database --filter="Client"

php bin/console doctrine:generate:entities AppBundle:Client --no-backup

这创建了实体" Client"。但是,它还在src / AppBundle / Resources / config / doctrine目录中创建了一个client.orm.yml文件。这会导致问题 - 也就是说,我的应用程序现在崩溃并显示错误消息:

  

"找不到名为' User.orm.yml'的映射文件。上课   '的appbundle \实体\用户'"

我认为Symfony / Doctrine开始使用这些yml文件将我的php代码映射到数据库模式。但为什么?我不想要它。我只是想让Doctrine创建一个实体。

P.S。当我删除此client.orm.yml文件时,一切正常。但我不明白发生了什么,我该如何正确处理呢。

1 个答案:

答案 0 :(得分:2)

您可以在实体创建过程后删除这些文件。这些文件用于元数据映射。

你可以读这个 martinfowler.com/eaaCatalog/metadataMapping.htmlmartinfowler.com/eaaCatalog/dataMapper.html

为什么学说不删除?因为,这是转换过程的第一步。在命令到doctrine之后创建这些文件的第一个命令,它正在创建用这些文件引用的实体文件。 :)