【发布时间】:2015-09-01 18:24:51
【问题描述】:
知道为什么我在尝试迁移时会收到此错误吗?
django.db.utils.ProgrammingError: 关系“django_content_type”
我正在使用 Django 1.8 和 PostgreSql
【问题讨论】:
-
删除了Thanks and Sig。添加了适当的标签。
标签: django postgresql django-1.8
知道为什么我在尝试迁移时会收到此错误吗?
django.db.utils.ProgrammingError: 关系“django_content_type”
我正在使用 Django 1.8 和 PostgreSql
【问题讨论】:
标签: django postgresql django-1.8
迁移时您将需要使用--fake-initial 选项;它曾经是隐含的,但现在已经明确了:
https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-option---fake-initial
引用:
此选项适用于首次运行迁移 预先存在迁移使用的数据库。
祝你好运!
【讨论】:
django.db.utils.ProgrammingError: column "name" of relation "django_content_type" does not exist。有任何想法吗?是否只是手动创建的问题?
@Josh 的解决方案对我进行了以下更改。在第 1 步之前,我重新添加了缺失的列:
ALTER TABLE django_content_type ADD COLUMN name character varying(50) NOT NULL DEFAULT 'run migrate.py';
运行python manage.py migrate auth 会删除此列,可能是在之前的migrate 运行中进行了一项或多项失败的其他更改。
在步骤 3 中运行 migrate 时,我包含了 --fake-initial 标志:
python manage.py migrate --fake-initial
似乎一切都恢复正常了。
【讨论】:
这对我有用:
./manage.py migrate auth --fake-initial(这会引发错误但忽略它)
./manage.py migrate --fake-initial
【讨论】:
和许多人一样,我并不真正理解这个问题。我能够设计出适合我的解决方案。
./manage.py migrate auth
./manage.py migrate
./manage.py migrate。祝你好运!
【讨论】: