Outils pour utilisateurs

Outils du site


devweb:laravel:upgrade (lu 11856 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
devweb:laravel:upgrade [12-04-2021 15:47]
edmc73
devweb:laravel:upgrade [17-08-2023 10:33]
edmc73
Ligne 1: Ligne 1:
 ====== Upgrade ====== ====== Upgrade ======
  
-===== Sur changement de version de php ======+===== passer de laravel 6 à 8 ======
  
 +Créons une nouvelle branch dans notre projet
 +  git checkout -b laravel-upgrade
 +  
 +Ajouter le dépôt de laravel
 +  git remote add laravel https://github.com/laravel/laravel.git
  
-  ErrorException in Builder.php line 876: +Récupérer les informations du dépôt 
-  compact(): Undefined variable: operator+  git fetch laravel
  
-  vi vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php +Merger la version 8.x 
-  ligne876+  git merge laravel/8. 
 +  fatalrefus de fusionner des historiques sans relation
  
-cherche  +  git merge --no-commit --allow-unrelated-histories laravel/8.x
-<code php> +
- 872     public function addWhereExistsQuery(Builder $query, $boolean = 'and', $not = false) +
- 873     { +
- 874         $type = $not ? 'NotExists' : 'Exists'; +
- 875 +
- 876         $this->wheres[] = compact('type', 'operator', 'query', 'boolean'); +
- 877 +
- 878         $this->addBinding($query->getBindings(), 'where'); +
- 879 +
- 880         return $this; +
- 881     } +
-</code> +
-et remplace +
-<code php> +
- 872     public function addWhereExistsQuery(Builder $query, $boolean = 'and', $not = false) +
- 873     { +
- 874         $type = $not ? 'NotExists' : 'Exists'; +
- 875 +
- 876         $this->wheres[] = compact('type', 'query', 'boolean'); +
- 877 +
- 878         $this->addBinding($query->getBindings(), 'where'); +
- 879 +
- 880         return $this; +
- 881     } +
-</code>+
  
 +Valider tous les conflits avec l'éditeur de votre choix, puis commitez le merge
  
-  ErrorException in Builder.php line 771: +Si vous avez bien mis à jour le composer.json, lancer un composer update 
-  count(): Parameter must be an array or an object that implements Countable+  composer update
  
-  vi vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php +ATTENTIONavec cette méthode, j'ai l'impression qu'on récupère tout l'historique des commits de laravel
-  ligne771+
  
-cherche  +Doncune fois que toutes les modifs sont faitesCopier/coller tous vos fichiers dans une nouvelle branche de votre projet tout propre (en excluant le dossier .git)
-<code php> +
- 769     public function addNestedWhereQuery($query$boolean = 'and'+
- 770     { +
- 771         if (count($query->wheres)) { +
- 772             $type = 'Nested'; +
- 773 +
- 774             $this->wheres[] = compact('type''query', 'boolean'); +
- 775 +
- 776             $this->addBinding($query->getBindings(), 'where'); +
- 777         } +
- 778 +
- 779         return $this; +
- 780     } +
-</code> +
-et remplace +
-<code php> +
- 769     public function addNestedWhereQuery($query, $boolean = 'and') +
- 770     { +
- 771         if (count((array)$query->wheres)) { +
- 772             $type = 'Nested'; +
- 773 +
- 774             $this->wheres[] = compact('type', 'query', 'boolean'); +
- 775 +
- 776             $this->addBinding($query->getBindings(), 'where'); +
- 777         } +
- 778 +
- 779         return $this; +
- 780     } +
-</code>+
  
  
-  ErrorException in Builder.php line 1231: 
-  count(): Parameter must be an array or an object that implements Countable 
  
-  vi vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php +===== passer de laravel 6 à 8 (alternative) ======
-  ligne: 1231+
  
-cherche +Même manip qu'au dessus mais en utilisant l'option depth
-<code php> +
-1222     protected function callScope(callable $scope, $parameters = []) +
-1223     { +
-1224         array_unshift($parameters, $this); +
-1225 +
-1226         $query = $this->getQuery(); +
-1227 +
-1228         // We will keep track of how many wheres are on the query before running the +
-1229         // scope so that we can properly group the added scope constraints in the +
-1230         // query as their own isolated nested where statement and avoid issues. +
-1231         $originalWhereCount = count($query->wheres); +
-1232 +
-1233         $result = $scope(...array_values($parameters)) ?: $this; +
-1234 +
-1235         if ($this->shouldNestWheresForScope($query, $originalWhereCount)) { +
-1236             $this->nestWheresForScope($query, $originalWhereCount); +
-1237         } +
-1238 +
-1239         return $result; +
-1240     } +
-</code> +
-et remplace +
-<code php> +
-1222     protected function callScope(callable $scope, $parameters = []) +
-1223     { +
-1224         array_unshift($parameters, $this); +
-1225 +
-1226         $query = $this->getQuery(); +
-1227 +
-1228         // We will keep track of how many wheres are on the query before running the +
-1229         // scope so that we can properly group the added scope constraints in the +
-1230         // query as their own isolated nested where statement and avoid issues. +
-1231         $originalWhereCount = count((array)$query->wheres); +
-1232 +
-1233         $result = $scope(...array_values($parameters)) ?: $this; +
-1234 +
-1235         if ($this->shouldNestWheresForScope($query, $originalWhereCount)) { +
-1236             $this->nestWheresForScope($query, $originalWhereCount); +
-1237         } +
-1238 +
-1239         return $result; +
-1240     } +
-</code>+
  
  
-  ErrorException in Collection.php line 1099: +===== bdd ===== 
-  A non-numeric value encountered+ 
 +Quelques modifs à noter 
 +<code> 
 +// La table user, ajouter un champ 
 + 
 +$table->timestamp('email_verified_at')->nullable(); 
 + 
 +// la table password_resets, le champ created_at peut-être maintenant NULL 
 + 
 +// voir aussi la table failed-job 
  
-  vi vendor/laravel/framework/src/Illuminate/Support/Collection.php 
-  ligne: 1099 
  
-cherche 
-<code php> 
-1090     public function sum($callback = null) 
-1091     { 
-1092         if (is_null($callback)) { 
-1093             return array_sum($this->items); 
-1094         } 
-1095 
-1096         $callback = $this->valueRetriever($callback); 
-1097 
-1098         return $this->reduce(function ($result, $item) use ($callback) { 
-1099             return $result + $callback($item); 
-1100         }, 0); 
-1101     } 
-</code> 
-remplace 
-<code php> 
-1090     public function sum($callback = null) 
-1091     { 
-1092         if (is_null($callback)) { 
-1093             return array_sum($this->items); 
-1094         } 
-1095 
-1096         $callback = $this->valueRetriever($callback); 
-1097 
-1098         return $this->reduce(function ($result, $item) use ($callback) { 
-1099             return (int)$result + (int)$callback($item); 
-1100         }, 0); 
-1101     } 
 </code> </code>
 +
 +===== Voir les modifs faites entre 2 versions de laravel =====
 +
 +Exemple des fichiers modifiés entre la version 6.x et 8.x de laravel
 +
 +https://github.com/laravel/laravel/compare/6.x...8.x
 +
 +
devweb/laravel/upgrade.txt · Dernière modification: 26-08-2023 23:58 de edmc73