Nuevo en Symfony 5.1: Actualizaciones automáticas del esquema de base de datos

Algunos componentes Symfony (ej. Cache, Lock, Messenger, etc.) pueden almacenar sus contenidos en bases de datos usando Doctrine ORM. Sin embargo, esto requiere de un trabajo manual de configuración previo. Por ejemplo, para almacenar las sesiones una base de datos primero debes crear una determinada tabla en la base de datos.

En Symfony nos obsesiona automatizar todas estas tareas aburridas, así que en Symfony 5.1 hemos eliminado todo este trabajo manual. En la práctica, algunos componentes Symfony ahora implementan un event subscriber que escuchan algunos eventos avanzados de Doctrine (ej. Events::onSchemaCreateTable de Doctrine DBAL y ToolEvents::postGenerateSchema de Doctrine ORM) para inyectar el código SQL necesario que crea las tablas que usarán para almacenar su información.

Estas tablas automáticas solo se generan cuando realmente las necesitas. Considera por ejemplo el componente Messenger. Si configuras el transporte de Doctrine y ejecutas el comando make:migration, la tabla se crea. Si no, tu base de datos permanece intacta. Lo mismo sucede con el PdoAdapter del componente Cache, el PdoStore del componente Lock, etc.

Pronto actualizaremos la documentación oficial de Symfony para reflejar todos estos cambios y simplificaciones.

Esta funcionalidad fue contribuida por Ryan Weaver en el pull request #36655.


Fuente: New in Symfony 5.1: Automatic schema updates

Comentarios

Publicada el

22 de mayo de 2020

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.