You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django从SQLite迁移至PostgreSQL后执行迁移报table does not exist错误

解决步骤
  • 重建迁移文件
    在项目根目录执行命令重新生成所有应用的初始迁移文件:

    python manage.py makemigrations
    

    执行后检查各自定义应用(包括customers应用)的目录下是否生成了migrations文件夹及初始迁移文件。

  • 初始化迁移记录
    先执行假迁移,将初始迁移记录写入数据库,避免迁移链断裂导致的依赖报错:

    python manage.py migrate --fake-initial
    
  • 正式创建表结构
    执行全量迁移命令,在PostgreSQL库中创建所有模型对应的表:

    python manage.py migrate
    

    执行完成后即可解决relation "customers_user" does not exist的报错。

  • 恢复备份数据
    表结构创建完成后,将你持有的数据库备份恢复到当前PostgreSQL库即可。

异常排查

如果执行迁移时仍存在报错,可先单独迁移Django内置应用,再迁移自定义应用:

python manage.py migrate auth
python manage.py migrate contenttypes
python manage.py migrate admin
python manage.py migrate sessions
python manage.py migrate 你的自定义应用名
注意事项
  • 后续遇到迁移冲突不要直接删除迁移文件夹,优先使用--fake参数调整迁移记录即可
  • 确认settings.py中INSTALLED_APPS已经注册了所有自定义应用,避免Django无法识别模型导致不生成对应表

内容的提问来源于stack exchange,提问作者Atif Shafi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:54:01