title: Django 1.8 - what's the difference between migrate and makemigrations?
body: <p>According to the documentation here:
  <a href="https://docs.djangoproject.com/en/1.8/topics/migrations/">https://docs.djangoproject.com/en/1.8/topics/migrations/</a> it says:</p>
  
  <pre><code>migrate, which is responsible for applying migrations, as well as unapplying and listing their status.
  </code></pre>
  
  <p>and</p>
  
  <pre><code>makemigrations, which is responsible for creating new migrations based on the changes you have made to your models.
  </code></pre>
  
  <p>From what I understand, I first do</p>
  
  <pre><code>makemigrations
  </code></pre>
  
  <p>to create the migration file and then do</p>
  
  <pre><code>migrate
  </code></pre>
  
  <p>to actually apply the migration?</p>
  
  <p>Do note though that I just began my Django project and I added my app to my "installed_apps" list. After that, I did</p>
  
  <pre><code>python manage.py runserver
  </code></pre>
  
  <p>and it said </p>
  
  <pre><code>You have unapplied migrations; your app may not work properly until they are applied. Run 'python manage.py migrate' to apply them.
  </code></pre>
  
  <p>It didn't mention anything about running makemigrations.</p>