Outils pour utilisateurs

Outils du site


devweb:laravel:upgrade (lu 10754 fois)

Ceci est une ancienne révision du document !


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

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

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 intacte

https://github.com/laravel/vite-plugin/blob/main/UPGRADE.md#migrating-from-vite-to-laravel-mix

devweb/laravel/upgrade.1693086944.txt.gz · Dernière modification: 26-08-2023 23:55 de edmc73