【问题标题】:Django project on Heroku initial data fixture integrityerrorHeroku 初始数据夹具完整性错误上的 Django 项目
【发布时间】:2020-10-02 19:42:27
【问题描述】:

我已将我的项目部署到 Heroku,目前正尝试将数据转储从本地 sqlite 数据库加载到 Heroku 数据库。除了最初的 migrate 命令之外,远程数据库是干净且未受影响的。 我尝试了以下转储组合,但都返回错误

python manage.py dumpdata --exclude contenttypes --> data.json
python manage.py dumpdata --exclude auth.permission --exclude contenttypes --indent 2 > data.json
python manage.py dumpdata --exclude auth.permission --exclude contenttypes --exclude auth.user  --indent 2 > data.json

错误是:

django.db.utils.IntegrityError:安装夹具时出现问题 '/app/data.json': 无法加载 wellsurfer.Profile(pk=6): 重复 键值违反唯一约束“wellsurfer_profile_user_id_key” 详细信息:密钥 (user_id)=(1) 已存在。

我想在这里发布 json 文件,但它大约有 120,000 行。但如果需要,我可以提供特定的部分。该错误清楚地表明密钥存在,但数据库一开始是干净的。显然,我做错了一些非常基本的事情,我希望你能指出我正确的方向。我尝试了在 Stackoverflow 上找到的建议,但没有成功。 How to manage.py loaddata in Django

【问题讨论】:

    标签: django heroku-postgres


    【解决方案1】:

    我遇到了同样的问题,这对我有用

    来源(本地 sqlite)

    python manage.py dumpdata --natural-foreign --indent 4 > datadump.json
    

    (这将包括所有内容,甚至包括身份验证应用程序/用户)

    目的地(heroku postgres)

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

    最后,运行以下命令加载 json 数据:

    python manage.py loaddata datadump.json
    

    【讨论】:

      猜你喜欢
      • 2019-08-21
      • 1970-01-01
      • 2014-07-13
      • 2013-03-18
      • 1970-01-01
      • 2023-02-20
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多