Atualizar versão da biblioteca
Visão geral
Nesta página, você pode aprender como atualizar o Laravel MongoDB para uma nova versão principal. Esta página também inclui as alterações que você deve fazer no seu aplicativo para atualizar sua versão do mapeador de documentos de objetos (ODM) sem perder a funcionalidade, se aplicável.
Como fazer a atualização
Antes de atualizar, execute as seguintes ações:
Certifique-se de que a nova versão da biblioteca seja compatível com a versão do MongoDB Server à qual seu aplicação se conecta e com a versão do Laravel em que seu aplicação é executado. Consulte a página deCompatibilidade do para obter essas informações.
Resolva quaisquer alterações importantes entre a versão do Laravel MongoDB que seu aplicativo agora usa e a versão de atualização planejada na seção Alterações Importantes deste guia.
Para atualizar sua versão da biblioteca, execute o seguinte comando no diretório do aplicativo:
composer require mongodb/laravel-mongodb:4.2
Para atualizar para outra versão da biblioteca, substitua as informações após laravel-mongodb:
pelo número da versão desejada.
Mudanças de última hora
Uma alteração interruptiva significativa é uma modificação em uma convenção ou comportamento em uma versão específica do Laravel MongoDB que pode impedir que seu aplicação funcione conforme o esperado.
As mudanças significativas nesta seção são categorizadas pelas versões principais que as introduziram. Ao atualizar as versões da biblioteca, resolva todas as alterações significativas entre sua versão atual e a versão de atualização planejada.
Alterações significativas na versão 4.x
Esta versão da biblioteca introduz as seguintes alterações de quebra:
A versão mínima do Laravel agora é 10.0. Para obter instruções sobre como atualizar sua versão do Laravel, consulte o Guia de atualização na documentação do Laravel.
O nome da dependência agora é
"mongodb/laravel-mongodb"
. Certifique-se de que o nome da dependência em seu arquivocomposer.json
seja"mongodb/laravel-mongodb": "^4.0"
. Em seguida, executecomposer update
.O namespace agora é
MongoDB\Laravel\
. Certifique-se de alterar o namespace deJenssegers\Mongodb\
paraMongoDB\Laravel\
em seus modelos e arquivos de configuração.Remove o suporte para projetos que não sejam do Laravel.
Remove o suporte para a propriedade
$dates
. Certifique-se de alterar todas as instâncias de$dates
para$casts
em seus arquivos de modelo.Model::unset($field)
não persiste a alteração. Certifique-se de seguir todas as chamadas paraModel::unset($field)
comModel::save()
.Remove o método
Query\Builder::whereAll($column, $values)
. Certifique-se de substituir todas as chamadas paraQuery\Builder::whereAll($column, $values)
porQuery\Builder::where($column, 'all', $values)
.Query\Builder::delete()
pode excluir um ou todos os documentos. Certifique-se de passar somente os valores1
ounull
paralimit()
.whereDate()
,whereDay()
,whereMonth()
,whereYear()
ewhereTime()
métodos agora utilizam operadores MongoDB em campos de data.Adiciona o traço
MongoDB\Laravel\Eloquent\MassPrunable
. Certifique-se de substituir todas as instâncias deIlluminate\Database\Eloquent\MassPrunable
porMongoDB\Laravel\Eloquent\MassPrunable
em seus modelos.Remove o suporte para os seguintes métodos
Query\Builder
:toSql()
toRawSql()
whereColumn()
whereFullText()
groupByRaw()
orderByRaw()
unionAll()
union()
having()
havingRaw()
havingBetween()
whereIntegerInRaw()
orWhereIntegerInRaw()
whereIntegerNotInRaw()
orWhereIntegerNotInRaw()