Categories Tags

Blog

A few weeks ago, a friend of mine mentioned (just after I did a painful upgrade to Laravel 5.2 - I messed up a few times so it ended up taking longer than the estimated 1 hour), a service that will automatically upgrade Laravel (for a fee) from one version of Laravel to another and they were having a discount because they were in alpha!

So, knowing I had an old Laravel 4.2 application running up in production, I figured "what is the worst that could go wrong?".  So I decided to give it a shot because an upgrade like that would take me a while to manually do.

Their steps are fairly straight forward.

Select the "Shift" (the upgrade) you want

  • Login with your GitHub account (BitBucket and GitLab are also supported)
  • Specify your repository and branch that you want it applied to
  • Pay for the Shift
  • Wait for the job to complete

Once the job is completed, you will now have a new branch in your repository.  This branch contains all of the changes that they have made, and a slew of suggestions that they found as they went through it.

So, you may be thinking.  "I changed my 'config/app.php' file to include some more stuff.  Will I lose those changes?".  The answer is no!  They recognize the changes to the file and instead of automatically modify it, they add comments to the pull request that they generate saying "you will need to merge this manually.".

Once you are happy with the remaining changes, and have fully tested your application, it is time to merge the pull request in, and you are done!

The other migration that I completed with it was a migration from Laravel 5.1 to Laravel 5.2.  In this shift, we found a tiny bug (it suggested I remove "pluck" from a JavaScript file because it assumed I was using the eloquent model's "pluck" command).  I reported it through a comment on the pull request and they responded fairly quickly acknowledging and resolving the issue going forward!

I am loving the tool and can't wait to use it in the future!  I would strongly suggest trying it out whenever you have a chance!

Laravel Shift: https://laravelshift.com

Posted in laravel

Tags: