title: Django South fake migration for test database
body: <p>I started learning how to write unit tests in Django. To run a couple of example tests for an app named, <code>organizations</code>, I typed this in commandline:</p>
  
  <pre><code>&gt; python manage.py test organizations.tests
  </code></pre>
  
  <p>which returns migration error like this:</p>
  
  <pre><code>Creating test database for alias 'default'...
  FATAL ERROR - The following SQL query failed: ALTER TABLE `smsmessages_message` MODIFY `content` longtext NOT NULL;;
  The error was: (1170, "BLOB/TEXT column 'content' used in key specification without a key length")
   ! Error found during real run of migration! Aborting.
  
   ! Since you have a database that does not support running
   ! schema-altering statements in transactions, we have had
   ! to leave it in an interim state between migrations.
  
  ! You *might* be able to recover with:   - no dry run output for alter_column() due to dynamic DDL, sorry
  
   ! The South developers regret this has happened, and would
   ! like to gently persuade you to consider a slightly
   ! easier-to-deal-with DBMS (one that supports DDL transactions)
   ! NOTE: The error which caused the migration to fail is further up.
  Error in migration: smsmessages:0013_auto__chg_field_message_content
  Traceback (most recent call last):
    File "manage.py", line 10, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 399, in execute_from_command_line
  </code></pre>
  
  <p>From Google-ing around for the answer, I found that one way to solve this is to set:</p>
  
  <pre><code>SOUTH_TESTS_MIGRATE = False
  </code></pre>
  
  <p>in my settings. But that seems like avoiding to solve the root of the problem, which is the migration error. When I was writing my app, I remember using <code>--fake</code> option to skip over some of these hiccups in migration like below:</p>
  
  <pre><code>&gt; python manage.py migrate organizations 0003 --fake
  </code></pre>
  
  <p>But that command is for real (non-test) database. I would like to know if there's an equivalent command for test database. I checked the tables in my DB and saw that <code>South</code> has created a test database named, <code>test_myapp</code> with its last row in the table <code>south_migrationhistory</code> being <code>0012_auto__chg_field_message_content</code>. Please let me know how I can step over this <code>0013</code> step in the migration for the <strong>test_myapp</strong> database. If I'm on the wrong track (i.e. if you think I should not fake this migration step <code>0013</code> and instead should do something else), please let me know. Thank you very much!</p>