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.



Few days ago, I tried deploying WordPress using dokku with digitalocean’s VPS, but I run into several issues, the biggest one of them was getting WordPress permalinks to work properly.

Since dokku uses an advanced php buildpack (can be found here), we will try to leverage its settings to get our a WordPress blog deployed. In fact this blog was deployed using the same steps bellow.

So let’s get started.Continue reading

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