Si ya sabes como instalar Laravel 8 y te preguntas como actualizar un sistema con Laravel 7, en este post vas a encontrar la guía definitiva para migrar sin perder ningún dato. La salida de Laravel 8 trajo consigo muchas novedades que sorprendieron a muchas personas. Desde cambios en los factories hasta mejoras de rendimiento con Jetstream. Ahora, la pregunta que nos hacemos todos: Se puede actualizar un proyecto de Laravel 7 sin romperlo?
Lo primero que debemos tener en cuenta son los cambios que se deberán realizar en el servidor de producción o desarrollo. Según la guía oficial de upgrade de Laravel 8. Para ello, necesitaremos actualizar la versión de PHP a >7.3.0.
PHP >= 7.3.0
Una vez que nuestro servidor este funcionando con la version actualizada de PHP, que al momento de este post es la versión 7.4.10, procederemos a actualizar nuestro composer.json en la carpeta raíz del proyecto con los siguientes cambios:
guzzlehttp/guzzle a la versión ^7.0.1
facade/ignition a la versión ^2.3.6
laravel/framework a la versión ^8.0
laravel/ui a la versión ^3.0
nunomaduro/collision a la versión ^5.0
phpunit/phpunit a la versión ^9.0
Archivo composer.json en Laravel 7:
Si realizaste bien todos los cambios, deberías tener un composer.json muy similar al de la imagen. Puede ser que tengas dependencias extra que no necesiten actualizar o te falten algunas de las dependencias que Laravel 8 pide tener. Con este último, no es necesario agregarlas. En caso de que utilices alguna de estas librerías, también deberás actualizar el composer.json con la versión recomendable:
Horizon v5.0
Passport v10.0
Socialite v5.0
Telescope v4.0
Para finalizar con las dependencias, es recomendable tener disponible la ultima versión del instalador de Laravel para que tengas acceso a Laravel Jetstream, ya que las versiones 4 para abajo del instalador dejaran de funcionar muy pronto. Ahora si, pasamos al ultimo comando para actualizar a Laravel 8
composer update
Si todo marcha bien, veremos el output de que todo se instalo correctamente. Y ahora si, a disfrutar de la ultima version de Laravel 8. No te olvides de crear la carpeta Models en /app si es que no la tenes, así aprovechas las nuevas mejoras de los models y factories!