【发布时间】:2021-01-04 02:32:23
【问题描述】:
我正在寻找以下情况的“最佳实践”指南/解决方案。
我有一个带有我创建和管理的 MySql DB 的 Django 项目。我必须每 5 分钟从一秒钟(外部,不由我管理)数据库中导入数据,以便执行一些操作。我拥有外部数据库和所有必要信息的阅读权限。
我已经阅读了关于使用多个数据库的 django 文档:在 settings.py 中注册数据库,使用 --database 标志迁移,通过路由到数据库查询/访问数据(短版)和多个问题关于stackoverflow的问题。
所以我的计划是: 在settings.py中注册第二个数据库,使用inspectdb添加到模型,迁移,定义一个从外部数据库读取数据并添加到内部(自己的)数据库的方法。
但是我确实有一些问题:
-
如果我不管理外部数据库,我是否必须注册它? (很可能是为了使用 ORM 或游标来访问数据)
-
如果我不管理数据库并且没有写入权限,我该如何迁移模型?我也不需要所有的表(大约 250 个,但只需要 5 个)。 (假迁移是一个值得考虑的选项吗?我会使用 inspectdb 并只迁移必要的表。)
-
因为我只需要从外部数据库中检索数据而不是写回,所以有一种方法可以不断获取最新数据,就像answer中建议的第二种解决方案一样,就足够了
欢迎任何想法/想法/建议!
【问题讨论】:
标签: django database multiple-databases