Overview
En esta página, puedes aprender cómo actualizar Laravel MongoDB a una nueva versión principal. Esta página también incluye los cambios que se deben realizar en la aplicación para actualizar la versión del mapeador de objetos a documentos (ODM) sin perder funcionalidad, si corresponde.
Cómo actualizar
Antes de actualizar, realiza las siguientes acciones:
Asegúrate de que la nueva versión de la librería sea compatible con la versión de MongoDB Server a la que se conecta tu aplicación y la versión de Laravel en la que se ejecuta tu aplicación. Consulta la página de Compatibilidad para obtener esta información.
Aborda cualquier cambio disruptivo entre la versión de Laravel Integration que tu aplicación usa actualmente y la versión de actualización planificada en la sección Cambios disruptivos de esta guía.
Para actualizar la versión de tu librería, ejecuta el siguiente comando en el directorio de tu aplicación:
composer require mongodb/laravel-mongodb:4.8
Para actualizar a una versión diferente de la librería, reemplaza la información después de laravel-mongodb: con tu número de versión preferido.
cambio disruptivo
Un cambio disruptivo es una modificación en una convención o comportamiento en una versión específica de la Integración de Laravel que podría impedir que su aplicación funcione como se esperaba.
Los cambios disruptivos en esta sección están categorizados según las principales versiones que los introdujeron. Al actualizar las versiones de la librería, aborda todos los cambios disruptivos entre tu versión actual y la versión planificada para la actualización.
Cambios disruptivos en la versión 4.x
Esta versión de la librería presenta los siguientes cambios disruptivos:
La versión mínima de Laravel ahora es 10.0. Para obtener instrucciones sobre cómo actualizar tu versión de Laravel, consulta la Guía de actualización en la documentación de Laravel.
El nombre de la dependencia ahora es
"mongodb/laravel-mongodb". Asegúrese de que el nombre de la dependencia en su archivocomposer.jsonsea"mongodb/laravel-mongodb": "^4.0". Luego, ejecutacomposer update.El namespace ahora es
MongoDB\Laravel\. Asegúrate de cambiar el namespace deJenssegers\Mongodb\aMongoDB\Laravel\en tus modelos y archivos de configuración.Remueve el soporte para proyectos que no sean de Laravel.
Se elimina el soporte para la propiedad
$dates. Asegúrate de cambiar todas las instancias de$datesa$castsen tus archivos de modelo.Model::unset($field)no conserva el cambio. Asegúrate de que sigues todas las llamadas aModel::unset($field)conModel::save().Elimina el método
Query\Builder::whereAll($column, $values). Asegúrese de reemplazar todas las llamadas aQuery\Builder::whereAll($column, $values)porQuery\Builder::where($column, 'all', $values).Query\Builder::delete()puedes borrar uno o todos los documentos. Asegúrate de pasar solo los valores1onullalimit().whereDate(),whereDay(),whereMonth(),whereYear(), ywhereTime()métodos ahora utilizan operadores de MongoDB en campos de fecha.Agrega el
MongoDB\Laravel\Eloquent\MassPrunablerasgo. Asegúrate de reemplazar todas las instancias deIlluminate\Database\Eloquent\MassPrunableporMongoDB\Laravel\Eloquent\MassPrunableen tus modelos.Remueve el soporte para los siguientes métodos de
Query\Builder:toSql()toRawSql()whereColumn()whereFullText()groupByRaw()orderByRaw()unionAll()union()having()havingRaw()havingBetween()whereIntegerInRaw()orWhereIntegerInRaw()whereIntegerNotInRaw()orWhereIntegerNotInRaw()