我一直在开发一个使用sqlite3作为后端的Django项目,它一直运行良好。我现在正试图将项目切换为使用postgres作为后端,但遇到了一些问题。
修改我的设置文件,设置postgres,创建数据库和用户我在运行manage.py migrate
django.db.utils.ProgrammingError: relation "financemgr_rate" does not exist
financemgr
是项目中的应用。 rate
是应用内的一个表格。
如果我运行同样的命令,但指定sqlite3作为我的后端,它可以正常工作。
为清楚起见,我将重复:
环境配置
'ENGINE': 'django.db.backends.sqlite3'
manage.py migrate
环境配置
'ENGINE': 'django.db.backends.postgresql_psycopg2'
manage.py migrate
django.db.utils.ProgrammingError: relation "financemgr_rate" does not exist
其他一切都是一样的。我不是试图迁移数据,只是填充架构等。
有什么想法吗?
答案 0 :(得分:2)
这可能会对您有所帮助:
我认为您已预先存储了迁移文件(针对sqlite数据库进行迁移)。
现在您已经更改了数据库配置,但仍然根据您拥有的迁移文件(迁移到以前的数据库)来查找现有表。
最好删除应用程序的迁移文件夹中的所有迁移文件,然后通过运行命令python manage.py makemigrations
和python manage.py migrate
再次迁移它,它可以正常工作。