美文网首页Ruby on RailsRuby & RailsRuby、Rails知识
ActiveRecord 如何连接多个数据库

ActiveRecord 如何连接多个数据库

作者: 感觉被掏空 | 来源:发表于2016-07-09 00:37 被阅读385次

前言:

      Rails一个重要的帮手就是ActiveRecord,它帮助我们快捷得操作各种数据库,有的时候,我们需要操作的数据库表,并不在同一个数据库中(这可能是项目历史原因,个人觉得除非特殊情况,很少会做出将表分散到多库设计),这个时候就需要ActiveRecord去连接多个数据库了。

      1. ActiveRecord肯定是支持连接多库功能的

      2. ActiveRecord对每一个数据库都会维护多个连接,并存放在连接池中(以前有朋友问过我,“连接多库,连接池没问题吧?”,当然没问题了,ActiveRecord对连接池的管理是OK的)

具体操作:

1. 大家都知道,ActiveRecord会默认读取database.yml的配置信息,我们需要增加一些,加入多个数据库的配置信息,以下只是提供一个demo,具体配置自己需要调整

2. ActiveRecord操作数据库表,是需要定义相应的Model的,这里也是一样,不过我们需要连接多个数据库,所以,我们的Model需要显示指定连接所用的配置,不过为了简化操作,我们为需要连接其他数据库的Model,定义一个父类

establish_connection() 其实可以接收一个hash作为参数,参数内容就是database.yml里某一个库的配置信息,不过由于ActiveRecord默认读取database.yml,所以这里只需要指定database.yml中的一个配置名,以symbol类型传入,就能自动获取该配置下的信息(直接传Hash对象也是OK的,不过略麻烦)

3. 我们随便定义一个Model,去继承某一个父类,就可以正常操作其他数据库的表了

好了,多库的连接配置就记录到这里!!

相关文章

  • ActiveRecord 如何连接多个数据库

    前言: Rails一个重要的帮手就是ActiveRecord,它帮助我们快捷得操作各种数据库,有的时候,我们...

  • Rails ActiveRecord连接多个数据库

    参考:https://www.thegreatcodeadventure.com/managing-multipl...

  • JDBC6 - 连接池

    一次性创建多个连接,将多个连接缓存在内存中 ,形成数据库连接池(内存数据库连接集合),如果应用程序需要操作数据库,...

  • SpringBoot配置MySQL多数据源

    1、先配置数据库连接文件 在连接文件中,设置多个数据库连接 2、AAA数据库连接配置文件 3、BBB数据库连接配置...

  • JDBC

    建立数据库连接 简化连接不同数据库,将连接数据库信息存储到文件中 通过获取驱动连接数据库,可同时获得多个驱动 执行...

  • SpringBoot整合多数据源xml方式

    项目中遇到需要连接多个数据库,本来使用SpringBoot默认配置连接是非常简单的,但是由于涉及多个数据库,不得不...

  • navicat如何连接数据库

    Navicat如何连接数据库 1.举例如何连接MYSQL 数据库 第一种点工具栏 连接选择-MYSQLimage....

  • JDBC:数据库连接池

    数据库连接池原理 当有多个线程访问数据库,每个线程都会创建一个连接 创建和关闭连接需要消耗资源 连接池在使用前,就...

  • python连接数据库SQLServer

    python连接数据库SQLServer 连接数据库的几种方式 python odbc pymssql whl如何...

  • python连接数据库SQLServer

    python连接数据库SQLServer 连接数据库的几种方式 python odbc pymssql whl如何...

网友评论

    本文标题:ActiveRecord 如何连接多个数据库

    本文链接:https://www.haomeiwen.com/subject/qnyrjttx.html