====== Upgrade ====== ===== 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 Récupérer les informations du dépôt git fetch laravel Merger la version 8.x git merge laravel/8.x fatal: refus de fusionner des historiques sans relation git merge --no-commit --allow-unrelated-histories laravel/8.x Valider tous les conflits avec l'éditeur de votre choix, puis commitez le merge Si vous avez bien mis à jour le composer.json, lancer un composer update composer update Si certaine version dans le composer.json ne sont plus compatible, supprimer la ligne dans le composer et lancer la commande suivante sans spécifier la version composer require laravel/ui composer require yajra/laravel-datatables ATTENTION: avec cette méthode, j'ai l'impression qu'on récupère tout l'historique des commits de laravel Donc, une fois que toutes les modifs sont faites, Copier/coller tous vos fichiers dans une nouvelle branche de votre projet tout propre (en excluant le dossier .git) # se mettre dans votre projet laravel 6 propre git checkout -b laravel8 # copier tous les fichiers de votre projet upgradé sur la nouvelle branche de votre projet actuel rsync -a --exclude '.git' /projet_migré_en_laravel8/ /projet/ # pouvez maintenant faire un commit de toutes les modifs de votre projet # il se peut que le dossier vendor soit tout pourri rm -fr vendor composer install Penser à mettre à jour nodejs et npm ===== passer de laravel 6 à 8 (alternative) ====== Même manip qu'au dessus mais en utilisant l'option depth ===== bdd ===== Quelques modifs à noter // 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 ===== 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 ===== Passer de gulp à laravel-mix ===== combiner du less avec du css. L'option processCssUrls peut être utile dans le cas des fichiers de fonts mix.less('resources/assets/less/bootstrap.less', 'public/css/bootstrap.css') .options({ processCssUrls: false }); mix.styles([ 'public/css/bootstrap.css', 'resources/assets/css/font-awesome.min.css', ], 'public/css/app.css'); combiner les js mix.scripts([ 'resources/assets/js/jquery.min.js', 'resources/assets/js/bootstrap.min.js', ], 'public/js/app.js'); Puis versionner le tout mix.version([ 'public/css/app.css', 'public/js/app.js' ],'public/build'); Utiliser maintenant le helper mix() à la place de elixir() ===== en passant de laravel 8 à 10 ===== Après avoir galérer pour passer de elixir à laravel mix, nous voici avec Vite .... Heureusement, on peut toujours garder laravel mix en gardant notre fichier packages.json intact https://github.com/laravel/vite-plugin/blob/main/UPGRADE.md#migrating-from-vite-to-laravel-mix