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:
....
Utilizar:
is_bundle: false
Más información aquí: http://zalas.eu/how-to-store-doctrine-entities-outside-of-a-symfony-bundle/