首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django在一个项目中为两个应用程序建立了两个数据库。如何正确地进行迁移?

Django在一个项目中为两个应用程序建立了两个数据库。如何正确地进行迁移?
EN

Stack Overflow用户
提问于 2020-04-12 18:09:17
回答 1查看 61关注 0票数 0

我想用'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”代码中使用它,我必须做些什么?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61175994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档