【问题标题】:user field is not migrating over to my postgres from sqlite3用户字段没有从 sqlite3 迁移到我的 postgres
【发布时间】:2020-07-09 20:49:06
【问题描述】:

我正在尝试将我的 sqlite3 迁移到 postgres,但遇到了很多问题。现在我遇到了一个问题,即我的instant_message 类中的一个用户字段“receiver”没有找到,因为它没有迁移到我的postgres。我怎样才能让它正确迁移过来?

错误

column dating_app_instantmessage.receiver_id does not exist LINE 1: ..."__count" FROM "dating_app_instantmessage" 

models.py/instant_message

class InstantMessage(models.Model):

sender = models.ForeignKey(settings.AUTH_USER_MODEL, related_name= 'sender',on_delete=models.CASCADE )
receiver = models.ForeignKey(settings.AUTH_USER_MODEL, related_name= 'receiver',on_delete=models.CASCADE )
conversation = models.ForeignKey(Conversation, on_delete=models.CASCADE)
message = models.TextField()
date = models.DateTimeField(verbose_name="Data creation",default=timezone.now, null=False)
viewed = models.BooleanField(default=False, db_index=True)

【问题讨论】:

    标签: django postgresql sqlite


    【解决方案1】:

    用于将 SQlite 迁移到 PostgreSQL 请遵循以下说明:

    1. python manage.py dumpdata > db.json

    2. 将数据库设置更改为新数据库,例如 MySQL / PostgreSQL。

    3. python manage.py migrate

    4. python manage.py shell 在shell中输入以下内容

    from django.contrib.contenttypes.models
    import ContentType ContentType.objects.all().delete() python
    
    1. manage.py loaddata db.json

    【讨论】:

    • 我是否需要像删除当前的 postgres 一样重新执行所有操作,还是可以从 shell 开始?
    • 你应该重做它,重新设置你的 django 设置以再次使用你的 sqlite,将它变成 json,然后按照说明开始迁移,毕竟这是一个非常快速的过程,大约需要 5 分钟
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    相关资源
    最近更新 更多