django-tenants迁移共享应用后仍提示journal_nav_topnavitem表不存在的问题求助
大家好,我现在在做一个基于Django 3.2.16和django-tenants的多租户项目,遇到了一个迁移相关的棘手问题,想请各位帮忙分析下。
事情的来龙去脉是这样的:最开始我把journal_nav这个应用只配置在了TENANT_APPS里,后来因为这个应用是用来给所有租户和公共schema提供统一导航栏的,就把它移到了SHARED_APPS中,settings.py的配置修改如下:
SHARED_APPS = [ 'app123', 'app456', ... 'journal_nav', # 移到这里了 ]
但之后当我访问一个依赖模板上下文处理器的路由时,这个上下文处理器里会执行TopNavItem.objects.all()的查询,结果直接触发了内部服务器错误:
Internal Server Error: /services/typography/
django.db.utils.ProgrammingError: relation "journal_nav_topnavitem" does not exist
LINE 1: ...", "journal_nav_topnavitem"."show_in_topbar" FROM "journal_n...
我第一反应是运行共享应用的迁移命令:
python manage.py migrate_schemas --shared
可命令执行后却显示:
[standard:public] Running migrations:
No migrations to apply.
但journal_nav应用里明明存在TopNavItem模型,而且对应的初始迁移文件0001_initial.py也实实在在地在应用的migrations目录里啊!
有没有朋友遇到过类似的情况?麻烦给我支个招,非常感谢大家!
内容来源于stack exchange

