Cómo eliminar el aviso de obsolescencia de Symfony 5: not setting doctrine.dbal.override_url to true is deprecated

Cómo eliminar el aviso de obsolescencia de Symfony 5: not setting doctrine.dbal.override_url to true is deprecated

La actualización de componentes de un proyecto o incluso de todo el proyecto siempre presentará errores o advertencias de obsolescencia si no tiene cuidado. Symfony, por supuesto, no es la excepción. Después de una actualización de Symfony 5.1 a Symfony 5.2 (que, por cierto, se actualizó de 4.4 a 5.1), el siguiente aviso de desaprobación apareció en los avisos de desaprobación del proyecto:

Not setting doctrine.dbal.override_url to true is deprecated. True is the only value that will be supported in doctrine-bundle 3.0.

[
    "exception" => Symfony\Component\ErrorHandler\Exception\SilencedErrorContext {
        #3769 
        +count: 2 
        -severity: E_USER_DEPRECATED trace: {} 
    }
]

La causa de este aviso de obsolescencia es que probablemente actualizaste a una versión más reciente de Symfony y no actualizaste los archivos de configuración también (normalmente, con un nuevo proyecto, no verás esta obsolescencia). Entonces, por ejemplo, si tienes el mismo archivo doctrine.yaml de un proyecto de Symfony 4 y actualmente estás ejecutando Symfony 5, entonces aparecerá la advertencia ya que el parámetro override_url no se declarará en tu archivo de configuración de doctrine.

Para solucionarlo, simplemente abre el archivo doctrine.yaml y crea el parámetro override_url bajo la clave dbal de doctrine asi:

# app/config/packages/doctrine.yaml
doctrine:
    dbal:
        url: '%env(resolve:DATABASE_URL)%'
        # Importante: asegúrate de que estos parámetros existan y su valor esté establecido en verdadero
        # para corregir la advertencia de obsolescencia!
        override_url: true

Y eso es todo. Borra la memoria caché y los registros si es necesario y no volverás a ver esta advertencia de obsolescencia.

Esta propiedad de la configuración de doctrine ayuda a solucionar un problema muy simple , por ejemplo, cuando defines una URL de conexión en Symfony usando la variable env DATABASE_URL para el desarrollo, y usa el mismo servidor pero diferentes bases de datos para probar, necesita anular el valor de DATABASE_URL completo en tu archivo config/packages/test/doctrine.yaml.

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable