Estoy tratando de generar entidades desde la base de datos usando comandos de consola estándar como se describe en la documentación de Symfony2 aquí: http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html.Cómo generar entidades desde la vista de base de datos con doctrine y symfony2
php app/console doctrine:mapping:convert --from-database --force yml "src/My/HomeBundle/Resources/config/doctrine/metadata/orm"
php app/console doctrine:mapping:import MyHomeBundle yml
php app/console doctrine:generate:entities MyHomeBundle
Después de esto, todas las tablas se generan correctamente. El problema es que esto no generará entidades para las vistas de la base de datos. Cuando agrego yml archivos a mí mismo en src/Mi/HomeBundle/Resources/config/doctrine/metadata/ORM por ejemplo:
UserInGroup:
type: entity
table: user_in_group_view
fields:
id:
id: true
type: integer
unsigned: false
nullable: false
generator:
strategy: IDENTITY
userId:
type: integer
unsigned: false
nullable: false
column: user_id
userGroupId:
type: integer
unsigned: false
nullable: false
column: user_group_id
lifecycleCallbacks: { }
me sale esta excepción cuando se ejecuta php app/console doctrine:generate:entities MyHomeBundle
:
Notice: Undefined index: My\HomeBundle\Entity\UserInGroup in C:\Users\ThisIsMe\Projects\SymfonyTestProject\vendor\doctrine\lib\Doctrine\ORM\Mapping\Driver\AbstractFileDriver.php line 121
pregunta similar se publicado aquí: How to set up entity (doctrine) for database view in Symfony 2
Sé que puedo crear clases de Entidad, pero esperaba poder generar esto, así que si cambio mi vista, podría regenerar las clases de entidad. ¿Alguna sugerencia?
Estos son los mismos pasos que he descrito en mi pregunta y esto genera entidades para todas las tablas, no para las vistas. La diferencia está en la ruta de destino para los archivos yml generados. He intentado con su solución por las dudas, pero no resuelve el problema; solo las tablas se convierten en entidades.Sé que las versiones anteriores de Doctrine (y Symfony) podían generar entidades sin vistas sin ningún problema. – Kosta