我想用'db1‘表示app 'app1',用'db2’表示'app2‘。(我不需要应用程序和数据库之间的任何同步。他们独立,但位于一个'mysite‘django项目。
我在'app1‘中迁移了'db1’。/app1/migrations/0001_initial.py。它包含“db1”(“默认”)结构的类。
现在-我把数据库'db2‘附加到settings.py数据库dict。'app1‘使用’默认‘数据库。(db1是'default') --我创建了$startapp ' app2‘文件夹--我将'app2.apps.App2Config’放到INSTALLED_APPS列表中--我执行了$makemigrations app2 app2 2/迁移/文件夹是空的(只有init.py ),所有的标记都是现在写的:
应用程序“app2”中未检测到任何更改
我运行$migrate -datbase=DB2it编写:
要执行的
操作:应用所有迁移:管理、auth、内容类型、db1、会话
运行迁移:应用contenttypes.0001_initial..。好的
应用auth.0001_initial.好的
……
……
应用db1.0001_initial.好的
什么都没变。没有提到'db2',也没有迁移升级(如我所见),app2/迁移文件夹仍然是空的。
为了为“db2”建模并在“app2”代码中使用它,我必须做些什么?谢谢
发布于 2020-09-13 15:47:35
“docs.djangoproject.com/en/1.10/topics/db/multi-db : app2”与“DATABASE_ROUTERS :settings.py”的词义
“迁移”函数没有工作,但是“makemigrations”必须具有类router.py文件( App2Router(object),用于“app”和“DB2”)。
如果makemigrates已经完成- 0001_intial.py存在,那么现在可以迁移--数据库=db2
https://stackoverflow.com/questions/61175994
复制相似问题