According to the documentation here: https://docs.djangoproject.com/en/1.8/topics/migrations/ it says:
migrate, which is responsible for applying migrations, as
It is necessary to run both the commands to complete the migration of the database tables to be in sync with your models.
makemigrations
simply analyzes your current models for any changes that would be out of sync with your database and creates a migrations file that can be used to bring the in sync. If left at this point, your models would still be out of sync with your database possibly breaking your code that queries the database.
migrate
is the command to "Make It So!" and apply the changes noted during the makemigrations
phase.
Source