Laravel migrations are a great way to keep track of database changes, but, if you screw one your migrations, you’ll likely be left in a broken state where a rollback can do nothing.

If you are using PostgreSQL, wrapping the whole migration in a transaction is a quick and clean way to avoid this headache. Unfortunately this is not the case for MySQL ( at least as of version 5.7 ), a transaction has no effect on table operations.

One way to go about it is to keep your migrations small, preferably performing one simple operation per migration.

The other way is way better, clean and will have no effect on the live database even if all your migrations fail: it’s by instructing Laravel to run the migrations against a testing database and report any error back.

After using this approach in my projects, I though it would be good to publish a package that does exactly that.


When I started using Laravel Homestead, I was excited about it, everything you need is packaged in a vagrant box. I don’t know about you, but vagrant has always been slow for me.

So what I did is take the provisioning script used in Laravel Homestead, build docker image, and start a container using that image.

I just published a github repository containing everything we need.

Setup steps are straightforward and easy to implement. You should be up and running in a few minutes.



This is my first post in this blog, and I hope you find it useful. Everything you find here has been tested in Hostgator.

As you know Laravel as a great php framework, involves some work when you try to install it on shared hosting. people using Hostgator are very aware of this. Because you first BIG problem is that your php version doesn’t meet the Laravel system requirements which is 5.3.17 or greater. This is one of the problem solved within this tutorial. So lets dive in.Continue reading