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
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.