我正在使用 postgres 数据库和 postgis 扩展。现在,在升级到 Django 1.8 后,我在运行时遇到了这个错误manage.py migrate
:
Traceback (most recent call last):
File "./manage.py", line 13, in <module>
execute_from_command_line(sys.argv)
File "/my-project/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/my-project/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/my-project/env/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
self.execute(*args, **cmd_options)
File "/my-project/env/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
output = self.handle(*args, **options)
File "/my-project/env/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 91, in handle
connection.prepare_database()
File "/my-project/env/lib/python2.7/site-packages/django/contrib/gis/db/backends/postgis/base.py", line 39, in prepare_database
cursor.execute("CREATE EXTENSION IF NOT EXISTS postgis")
File "/my-project/env/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/my-project/env/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/my-project/env/lib/python2.7/site-packages/django/db/utils.py", line 97, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/my-project/env/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
django.db.utils.ProgrammingError: type "spheroid" already exists
版本
我在 OS X 上使用Postgres.app
- psql (9.3.4)
SELECT PostGIS_version(); postgis_version 2.1 USE_GEOS=1 USE_PROJ=1USE_STATS=1
- Django 1.8.2