title: Django - is it possible to avoid/minimize use of migrations?
body: <p>This is a general question.  I'll give a sample of what I am concerned about, but the general idea I am after is:  can I bypass migrations to manage the schema for the models?  Now, I know there are lots of good reasons people <em>like</em> migrations, but I am proficient with DDL SQL and looking after schema changes and am finding that, <strong>for my use cases</strong>, I spend way more time working around migrations than I do benefiting from them.  I don't use fixtures for example and I don't need very dynamic migration capability a la Chef/Puppet, at least not until I am in production.  </p>
  
  <p>In fact, I find the lack of transparency around migration DDL quite scary.</p>
  
  <p><strong>This is just a sample issue I am dealing with:</strong></p>
  
  <pre><code>class Profile(models.Model):
      rdbname = RDBNAME
      name = models.CharField(max_length=80, blank=True)
      creation = models.DateTimeField(auto_now=True)
      rolecount = models.IntegerField(default=0)
      usercount = models.IntegerField(default=0)
  
      def __unicode__(self):
          return self.name
  
      class Meta:
          ordering = ["-rolecount", "name"]
  </code></pre>
  
  <p>I have just added this index, it shows up in migrations, 
  but it doesn't get created</p>
  
  <pre><code>        unique_together = ("rdbname", "name")
  </code></pre>
  
  <p>This is the output:</p>
  
  <pre><code>Running migrations:
     No migrations to apply.
  </code></pre>
  
  <p>But this is NOT a request to help me troubleshoot my migration.  I can probably drop the affected tables get migrations to recreate them.  Or add the index by hand.  I just generally don't want to use <strong>manage.py migrate</strong> and I wonder if there are ways to benefit from Models but look after your db the old fashioned, manual way.</p>
  
  <p>One possible approach would be to use makemigrations in a "from-scratch/dry-run/sql output" mode to create a sql script.  With all drop/create tables and indices, as if the database was empty.  If you compare that to your previous from-scratch, you would see whatever was changed and you could create a script to say just add a column.  Or my index in my case.  </p>
  
  <p>And you would execute that in your favorite sql utility, psql (Postgres) in my case.</p>
  
  <p>Can I not get a long set of explanations why migrations are the cat's pajamas?  I am aware of those already.  But I would be happy to hear from people who have tried that there is no way out, that's a useful data point for me. I'll just have to bite the bullet as well.</p>
  
  <p>Just wondering if anyone else has managed to work around them somewhat.</p>