在AWS Ubuntu20.04部署Django时迁移报错:Relation does not exist 'userAuthentication_user'
Django迁移报错"Relation does not exist 'userAuthentication_user'"的解决办法
检查核心配置
- 确认
django.contrib.auth、django.contrib.contenttypes已添加到settings.py的INSTALLED_APPS中,这两个是身份验证表生成的核心依赖。 - 若使用自定义用户模型,检查
settings.py中AUTH_USER_MODEL = 'userAuthentication.User'配置是否正确,且userAuthentication应用已在INSTALLED_APPS内。
重置迁移流程
- 删除
userAuthentication应用下migrations目录中除__init__.py外的所有迁移文件,同时排查其他应用迁移是否存在对该表的依赖。 - 登录目标数据库,清空该应用的迁移记录:
DELETE FROM django_migrations WHERE app = 'userAuthentication'; - 重新生成该应用的初始迁移文件:
python manage.py makemigrations userAuthentication - 优先执行该应用的迁移,再执行全局迁移:
python manage.py migrate userAuthentication python manage.py migrate
验证数据库连接与权限
- 确认
settings.py中DATABASES配置的地址、用户名、密码正确,且数据库用户拥有建表权限。 - 若使用AWS托管数据库,检查EC2实例安全组是否允许访问数据库端口,同时数据库安全组已开放EC2实例的访问权限。
内容的提问来源于stack exchange,提问作者LuisFerchx
相关产品推荐
相关产品推荐

