django oracle11g,Django多数据库路由

因为需要基于一个老的业务系统进行相关开发工作、老系统使用的数据库是Oracle11G。在开发过程中不方便对老系统的数据库进行改动、而我们又需要增加用户登录、系统日志、权限管理等功能。需要在新增数据表、那么在Django中我们如何来操作呢?

Django版本:1.11.29(这里为了适配Oracle11G数据库)

MySQL版本:5.6.49(新增数据表全部放在MySQL数据库中)

多数据库配置

下面我们一起来看看如何在Django中进行多数据库路由配置。首先我们去新建项目的setting.py文件里面配置多个数据库引擎(项目创建过程略过)。

我们把MySQL数据库作为主数据库、把Oracle数据库作为从数据库(这里的主从数据库引擎可以是一样的、也可以是不一样的、不同的数据库引擎配置请各位小伙伴自行百度)。这里我们链接的Oracle数据库是老业务系统的数据库(只读权限)、而MySQL数据库是我们需要新增数据表的数据库(读写权限)。

多数据库路由配置

然后我们去Django项目目录里面新增一个settings目录、在settings目录下面新增一个router.py文件内容如下:

这里我们定义了一个通用函数Slave_Router,在Slave_Router中我们定义了read、write、relation、migrate几个方法。我们把从老业务系统反向生成的Model类全部放在 reservation APP 下面。通过Slave_Router来判断如果当前访问的APP是 reservation 就去访问slave数据库(也就是Oracle数据库)、反之则去访问 default 数据库(也就是MySQL数据库)。通过这种方式、我们就实现了在Django下面去访问多个数据库的配置方式。

注:这一部分的内容其实在官方文档里面写的也挺清楚的、感兴趣的小伙伴可以自动取官方文档查看原原档。

d71c6a646c4d015ecfd30cc3652b7b78.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值