title: Getting 'DatabaseOperations' object has no attribute 'geo_db_type' error when doing a syncdb
body: <p>I'm attempting to run <code>heroku run python manage.py syncdb</code> on my GeoDjango app on Heroku, but I get the following error:</p>
  
  <p><strong>AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'</strong></p>
  
  <p><a href="http://djangosaur.tumblr.com/post/409277054/geodjango-database-engine-for-django-1-2">All</a> <a href="https://code.djangoproject.com/ticket/12727">of</a> <a href="http://develissimo.com/forum/topic/110229/?page=1#post-267473">my</a> <a href="http://opensourcegeospatial.blogspot.com/2011/06/geodjango-object-has-no-attribute.html">research</a> has yielded the same solution: make sure to use <code>django.contrib.gis.db.backends.postgis</code> as the database engine. Funny thing is that <em>I'm already doing this</em> (and I also have <code>django.contrib.gis</code> in <code>INSTALLED_APPS</code>):</p>
  
  <pre><code>settings.py
  
  DATABASES = {
    'default': {
      'ENGINE': 'django.contrib.gis.db.backends.postgis',
      'NAME': '...',
      'HOST': '...',
      'PORT': ...,
      'USER': '...',
      'PASSWORD': '...'
    }
  }
  
  INSTALLED_APPS = (
      ...,
      'django.contrib.gis',
  )
  </code></pre>
  
  <p>Is there something else I am missing? Any help is greatly appreciated, below is the full error trace for reference:</p>
  
  <pre><code>Running `python manage.py syncdb` attached to terminal... up, run.1
  Creating tables ...
  Creating table auth_permission
  Creating table auth_group_permissions
  Creating table auth_group
  Creating table auth_user_user_permissions
  Creating table auth_user_groups
  Creating table auth_user
  Creating table django_content_type
  Creating table django_session
  Creating table django_site
  Creating table django_admin_log
  Traceback (most recent call last):
    File "manage.py", line 10, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
      utility.execute()
    File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/app/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
      self.execute(*args, **options.__dict__)
    File "/app/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
      output = self.handle(*args, **options)
    File "/app/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
      return self.handle_noargs(**options)
    File "/app/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 91, in handle_noargs
      sql, references = connection.creation.sql_create_model(model, self.style, seen_models)
    File "/app/lib/python2.7/site-packages/django/db/backends/creation.py", line 44, in sql_create_model
      col_type = f.db_type(connection=self.connection)
    File "/app/lib/python2.7/site-packages/django/contrib/gis/db/models/fields.py", line 200, in db_type
      return connection.ops.geo_db_type(self)
  AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'
  </code></pre>
  
  <p><strong>Update</strong>: I followed the <a href="https://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/">GeoDjango tutorial</a> and <a href="https://devcenter.heroku.com/articles/django">Heroku/Django tutorial</a>, and built a simple app that works on my dev machine. I pushed it to Heroku using a <a href="https://github.com/cirlabs/heroku-buildpack-geodjango">custom GeoDjango buildpack</a>, and tried syncdb, but get the same error. Is this an issue with Django/GeoDjango, Heroku, or the buildpack? My dev environment is using PostgreSQL 9.1 and PostGIS 2.0, but Heroku uses 9.0.9 and 1.5, could that be the issue?</p>