title: Django Migrations: run_before vs dependencies
body: <p>I always thought that dependencies made sure that all the migrations that I put there ran before the migraton I was declaring. However, today I found about run_before and Im not sure what are the differences between both. Can someon clarify the difference between run_<code>before</code> and <code>dependencies</code> when declaring a Django migration?</p>
  
  <pre><code>class Migration(migrations.Migration):
  
      dependencies = [
          ('myapp', '0123_the_previous_migration'),
      ]
  
     run_before = [
      ('third_party_app', '0001_do_awesome'),
     ]  
  </code></pre>