您的案例在symfony网站上有很好的记录,该网站的标题为
“如何从现有数据库生成实体”
如文档所述:
从现有数据库构建实体类的第一步是要求Doctrine对数据库进行内部检查并生成相应的元数据文件。元数据文件描述了要基于表字段生成的实体类。
使用以下命令(假设捆绑包的简称为 GOutsideGOBundle )
$ PHP应用程序/控制台学说:映射:导入–force GOutsideGOBundle xml
然后,您需要致电。
PHP应用程序/控制台学说:生成:实体GOutsideGOBundle
如果需要使用注释映射生成实体类,则必须先执行以下命令
doctrine:generate:entities
PHP应用程序/控制台学说:映射:转换注释./ src
路径应仅为 ./src 而不是 ./src/GOutside/GOBundle/Resources/config/doctrine
更新:
如果您的配置中的所有内容都正确,那么
Database does not have any mappinginformation.就不可能出现错误!我不确定这个错误。但是根据您的数据库表架构,存在一些问题,这些问题将阻止您创建映射信息。
- 您的表包含该学说无法处理的特殊类型的 点 。
- 您的数据库表具有多个没有任何主键的表。 Doctrine不支持从没有主键的表进行逆向工程
要解决问题(1),您可以在主义配置部分中添加自定义映射。例如,将点类型映射为字符串,您可以编写:
doctrine: dbal: //Other connection parameters mapping_types: point: string
对于第二个问题,您需要为这些表定义主键,这些键可以是新字段,也可以是复合主键。



