生产问题:django 中的 sqlite3 到 postgresql 迁移问题

时间:2021-01-04 15:27:46

标签: django postgresql production

我正在尝试将我的 django 项目从 sqlite3 迁移到 postgresql。我在开发中成功地做到了这一点,但在生产中出现了错误。

我已使用此命令创建转储:

manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json

然后我在 settings.py 中更改了数据库

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'dbname',
    'USER': 'username',
    'PASSWORD': 'password',
    'HOST': 'localhost',
    'PORT': '5432',
}

然后我按如下方式排除内容类型:

python3 manage.py shell
from django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
quit()

但我收到此错误:

django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table 
"django_admin_log" violates foreign key constraint 
"django_admin_log_content_type_id_c4bce8eb_fk_django_co"
DETAIL:  Key (content_type_id)=(7) is not present in table "django_content_type".

请帮忙

1 个答案:

答案 0 :(得分:1)

好吧,我想通了并成功迁移。 感谢 ankitWillem Van Onsem Mostafa Ghadimi

我一步一步地遵循了 Mostafa Ghadimi 的回答here

还清除了 ankit

建议的缓存