gpt4 book ai didi

python - 从 sqlite3 切换到 postgres 后 django 迁移失败

转载 作者:行者123 更新时间:2023-11-29 12:57:17 25 4
gpt4 key购买 nike

我一直在开发一个使用 sqlite3 作为后端的 Django 项目,并且运行良好。我现在正尝试将项目切换为使用 postgres 作为后端,但遇到了一些问题。

在修改我的设置文件、设置 postgres、创建数据库和用户后,我在运行 manage.py migrate 时遇到以下错误

django.db.utils.ProgrammingError:关系“financemgr_rate”不存在

financemgr 是项目中的一个应用程序。 rate 是应用程序中的一个表。

如果我运行相同的命令但指定 sqlite3 作为我的后端,它工作正常。

为了清楚起见,我将重复:

环境配置1

  • Ubuntu 14.04,Django 1.10
  • 设置文件有 'ENGINE': 'django.db.backends.sqlite3'
    1. 运行manage.py migrate
    2. 迁移运行并成功处理所有迁移

环境配置2

  • Ubuntu 14.04,Django 1.10
  • 设置文件有 'ENGINE': 'django.db.backends.postgresql_psycopg2'
    1. 运行manage.py migrate
    2. 迁移运行并给出错误 django.db.utils.ProgrammingError: relation "financemgr_rate"does not exist

其他一切都是一样的。我不是要迁移数据,只是填充架构等。

有什么想法吗?

最佳答案

这可能对您有帮助:

我想你已经预存了迁移文件(migrate for sqlite database)。现在您已经更改了数据库配置,但 Django 仍在根据您拥有的迁移文件(为以前的数据库迁移)寻找现有表。最好删除应用程序迁移文件夹中的所有迁移文件,然后通过运行命令 python manage.py makemigrationspython manage.py migrate 再次迁移它可能有效很好。

关于python - 从 sqlite3 切换到 postgres 后 django 迁移失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39879939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com