Generación de Entidades desde base de datos con Symfony 3
Si utilizamos Symfony como framework de desarrollo PHP, existe la posibilidad que en algún proyecto ya tengamos creada la base de datos en nuestro motor de base de datos y necesitemos crear los archivos PHP necesarios (Entidades) organizados por Bundles. A continuación vamos a mostrar un ejemplo de como hacerlo.
Vamos a suponer que tenemos varias tablas en nuestra base de datos, pero no todas corresponden al mismo Bundle, de la siguiente lista
- mod_tabla1
- mod_tabla2
- otro_tabla
Solo nos interesa generar la tabla «otro_tabla» para nuestro Bundle, para ello nos ubicamos en nuestro directorio raíz del proyecto y ejecutamos:
bin/console doctrine:mapping:import --force JewifcomNombreBundle xml --filter="OtroTabla"
Para este caso:
- JewifcomNombreBundle es el nombre de nuestro Bundle
- xml es el formato, puede ser también yml
- OtroTabla es la tabla que nos interesa,notar que aunque el nombre en la base incluye «_» en el mismo se debe colocar el nombre en formato camel case
Posteriormente es conveniente limpiar el cache ejecutando:
bin/console cache:clear --env=dev
Y ya es posible generar los archivos Entidad, ejecutando:
bin/console doctrine:generate:entities JewifcomNombreBundle
Si queremos que estén en formato de anotaciones, ejecutamos:
bin/console doctrine:mapping:convert annotation ./src/ --force