usar symfony3 que generate generar from entidades entidad engineering create crear como php symfony doctrine2 entities

php - symfony3 - reverse engineering symfony



Symfony2/Doctrine2: genera entidades que están fuera de un paquete (3)

Intento generar entidades para mi aplicación Symfony 2. Las entidades serán compartidas por varios paquetes (y tal vez varias aplicaciones), y por lo tanto no quiero que pertenezcan a un paquete. Quiero que estén en la carpeta src / MyApp / Entity.

Ya tengo el YML para mis entidades, almacenado en src / MyApp / Entity / config / doctrine (class1.orm.yml, ...)

Intento generar las clases PHP correspondientes usando la tarea doctrine: generate: entities

Esto es lo que tengo en mi aplicación / config / config.yml

orm: auto_generate_proxy_classes: %kernel.debug% auto_mapping: false mappings: AppRest: type: yml prefix: AppRest/Entity dir: %kernel.root_dir%/../src/AppRest/Entity/config/doctrine

Aquí está el comando que uso para generar las entidades

php app/console doctrine:generate:entities AppRest/Entity

Aquí está la excepción que obtengo

[InvalidArgumentException] Bundle "AppRest" does not exist or it is not enabled.

Quiero hacer que la doctrina comprenda que no estoy tratando de generar entidades que están en un paquete. También traté de especificar la opción --path (--path = src / AppRest / Entity), pero no cambió nada.

Alguien puede ayudar ?

Editar :

Eliminé el espacio adicional en mi directorio, lo que resolvió el problema. La opción de ruta debe ser especificada


De hecho, me faltaba un espacio en mi opción de directorio anterior. Esto funciona ahora, pero aún me pregunto si esa es la mejor manera de hacerlo.


Cuando tenga dicho error, verifique si especificó el nombre del atajo del paquete, no el nombre del directorio del paquete. Por ejemplo, si tiene Acme / DemoBundle, su nombre abreviado es AcmeDemoBundle. En este caso

orm: mappings: DemoBundle: ....

Es incorrecto.

el correcto es:

orm: mappings: AcmeDemoBundle: ....