title: Django: Failing at creating tables
body: <p>I can't change my models and create new tables if the old ones are deleted. I am using south and when I just added a new model to my models and created a new one, I used </p>
  
  <pre><code>python manage.py migrate logins --fake
  
  Running migrations for logins:
  - Nothing to migrate.
   - Loading initial data for logins.
  Installed 0 object(s) from 0 fixture(s)
  Liubous-MacBook-Pro:Django_project_for_EGG yudasinal1$ python manage.py syncdb
  Syncing...
  Creating tables ...
  Installing custom SQL ...
  Installing indexes ...
  Installed 0 object(s) from 0 fixture(s)
  
  Synced:
   &gt; django.contrib.admin
   &gt; django.contrib.auth
   &gt; django.contrib.contenttypes
   &gt; django.contrib.sessions
   &gt; django.contrib.messages
   &gt; django.contrib.staticfiles
  
  Not synced (use migrations):
   - logins
   - south
  (use ./manage.py migrate to migrate these)
  </code></pre>
  
  <p>Then I said: </p>
  
  <pre><code>python manage.py migrate logins 
  Running migrations for logins:
  - Nothing to migrate.
   - Loading initial data for logins.
  Installed 0 object(s) from 0 fixture(s)
  </code></pre>
  
  <p>Nothing was actually changed and created, as when I accessed admin, it was written, that the table does not exist. So I decided to delete my database and create a new one, that failed as well:</p>
  
  <pre><code>python manage.py sql logins 
  
  BEGIN;
  CREATE TABLE "logins_department" (
      "id" integer NOT NULL PRIMARY KEY,
      "name" varchar(200) NOT NULL
  )
  ;
  CREATE TABLE "logins_game" (
      "id" integer NOT NULL PRIMARY KEY,
      "name_of_the_game" varchar(200) NOT NULL
  )
  ;
  CREATE TABLE "logins_info_game" (
      "id" integer NOT NULL PRIMARY KEY,
      "info_id" integer NOT NULL,
      "game_id" integer NOT NULL REFERENCES "logins_game" ("id"),
      UNIQUE ("info_id", "game_id")
  )
  ;
  CREATE TABLE "logins_info_department" (
      "id" integer NOT NULL PRIMARY KEY,
      "info_id" integer NOT NULL,
      "department_id" integer NOT NULL REFERENCES "logins_department" ("id"),
      UNIQUE ("info_id", "department_id")
  )
  ;
  CREATE TABLE "logins_info" (
      "id" integer NOT NULL PRIMARY KEY,
      "organization_name" varchar(200) NOT NULL,
      "user_name" varchar(200) NOT NULL,
      "password" varchar(200) NOT NULL
  )
  ;
  CREATE TABLE "logins_customuser_department" (
      "id" integer NOT NULL PRIMARY KEY,
      "customuser_id" integer NOT NULL,
      "department_id" integer NOT NULL REFERENCES "logins_department" ("id"),
      UNIQUE ("customuser_id", "department_id")
  )
  ;
  CREATE TABLE "logins_customuser_game" (
      "id" integer NOT NULL PRIMARY KEY,
      "customuser_id" integer NOT NULL,
      "game_id" integer NOT NULL REFERENCES "logins_game" ("id"),
      UNIQUE ("customuser_id", "game_id")
  )
  ;
  CREATE TABLE "logins_customuser" (
      "user_ptr_id" integer NOT NULL PRIMARY KEY REFERENCES "auth_user" ("id")
  )
  ;
  
  COMMIT;
  
  
  python manage.py syncdb
  Syncing...
  Creating tables ...
  Installing custom SQL ...
  Installing indexes ...
  Installed 0 object(s) from 0 fixture(s)
  
  Synced:
   &gt; django.contrib.admin
   &gt; django.contrib.auth
   &gt; django.contrib.contenttypes
   &gt; django.contrib.sessions
   &gt; django.contrib.messages
   &gt; django.contrib.staticfiles
  
  Not synced (use migrations):
   - logins
   - south
  (use ./manage.py migrate to migrate these)
  Liubous-MacBook-Pro:Django_project_for_EGG yudasinal1$ python manage.py schemamigration south --initial
   + Added model south.MigrationHistory
  Created 0003_initial.py. You can now apply this migration with: ./manage.py migrate south
  </code></pre>
  
  <p>I migrated them(error again):</p>
  
  <pre><code>python manage.py migrate south
  Traceback (most recent call last):
    File "manage.py", line 10, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
      utility.execute()
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 392, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
      self.execute(*args, **options.__dict__)
    File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 285, in execute
      output = self.handle(*args, **options)
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/South-0.8-py2.7.egg/south/management/commands/migrate.py", line 111, in handle
      ignore_ghosts = ignore_ghosts,
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/South-0.8-py2.7.egg/south/migration/__init__.py", line 200, in migrate_app
      applied_all = check_migration_histories(applied_all, delete_ghosts, ignore_ghosts)
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/South-0.8-py2.7.egg/south/migration/__init__.py", line 79, in check_migration_histories
      for h in histories:
    File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 96, in __iter__
      self._fetch_all()
    File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 854, in _fetch_all
      self._result_cache = list(self.iterator())
    File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 220, in iterator
      for row in compiler.results_iter():
    File "/Library/Python/2.7/site-packages/django/db/models/sql/compiler.py", line 710, in results_iter
      for rows in self.execute_sql(MULTI):
    File "/Library/Python/2.7/site-packages/django/db/models/sql/compiler.py", line 781, in execute_sql
      cursor.execute(sql, params)
    File "/Library/Python/2.7/site-packages/django/db/backends/util.py", line 69, in execute
      return super(CursorDebugWrapper, self).execute(sql, params)
    File "/Library/Python/2.7/site-packages/django/db/backends/util.py", line 53,
  return self.cursor.execute(sql, params)
    File "/Library/Python/2.7/site-packages/django/db/utils.py", line 99, in __exit__
      six.reraise(dj_exc_type, dj_exc_value, traceback)
    File "/Library/Python/2.7/site-packages/django/db/backends/util.py", line 53, in execute
      return self.cursor.execute(sql, params)
    File "/Library/Python/2.7/site-packages/django/db/backends/sqlite3/base.py", line 450, in execute
      return Database.Cursor.execute(self, query, params)
  django.db.utils.OperationalError: no such table: south_migrationhistory
  </code></pre>
  
  <p>And so none of the tables were actually created. </p>
  
  <p>Here are my models:</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import User, UserManager
  
  
  class Department(models.Model):
      name = models.CharField(max_length=200)
      def __unicode__(self):  
          return self.name
  
  class Game(models.Model):
      name_of_the_game = models.CharField(max_length=200)
      def __unicode__(self):  
          return self.name_of_the_game
  
  class Info(models.Model):
      organization_name = models.CharField(max_length=200)
      user_name = models.CharField(max_length=200)
      password = models.CharField(max_length=200)
      game = models.ManyToManyField(Game)
      department = models.ManyToManyField(Department)
      def __unicode__(self):
           return self.organization_name+ ': '+ 'user name: ' +self.user_name+ ', '+ 'password: ' + self.password
  
  
  class CustomUser(User):
      department = models.ManyToManyField(Department)
      game = models.ManyToManyField(Game)
      objects = UserManager()
  </code></pre>