multi_db 项目利用教程

打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

multi_db 项目利用教程

    multi_db Connection proxy for ActiveRecord for single master / multiple slave database deployments  
项目地点: https://gitcode.com/gh_mirrors/mu/multi_db   
1. 项目的目次结构及先容

multi_db 项目的目次结构如下:
  1. multi_db/
  2. ├── lib/
  3. │   ├── multi_db/
  4. │   │   ├── connection_proxy.rb
  5. │   │   ├── scheduler.rb
  6. │   │   └── ...
  7. │   └── multi_db.rb
  8. ├── spec/
  9. │   ├── multi_db_spec.rb
  10. │   └── ...
  11. ├── .gitignore
  12. ├── Gemfile
  13. ├── LICENSE
  14. ├── README.rdoc
  15. └── multi_db.gemspec
复制代码
目次结构先容



  • lib/: 包含项目的核心代码。

    • multi_db/: 包含 multi_db 的主要功能实现文件。

      • connection_proxy.rb: 毗连代理的核心实现。
      • scheduler.rb: 调理器的实现。
      • ...: 其他相关文件。

    • multi_db.rb: 项目的入口文件。

  • spec/: 包含项目的测试代码。

    • multi_db_spec.rb: 针对 multi_db 的测试文件。
    • ...: 其他测试文件。

  • .gitignore: Git 忽略文件设置。
  • Gemfile: 项目的依赖管理文件。
  • LICENSE: 项目的开源允许证文件。
  • README.rdoc: 项目的分析文档。
  • multi_db.gemspec: 项目的 gemspec 文件,用于打包和发布。
2. 项目的启动文件先容

multi_db 项目的启动文件是 lib/multi_db.rb。这个文件是项目的入口文件,负责加载和初始化 multi_db 的核心功能。
启动文件内容概述

  1. # lib/multi_db.rb
  2. require 'active_record'
  3. require 'multi_db/connection_proxy'
  4. require 'multi_db/scheduler'
  5. module MultiDb
  6.   # 初始化代码
  7. end
复制代码
启动文件功能



  • 加载依赖: 加载 ActiveRecord 和 multi_db 的核心模块。
  • 模块初始化: 初始化 multi_db 模块,设置毗连代理和调理器。
3. 项目的设置文件先容

multi_db 项目的设置文件主要包括 database.yml 和 environment.rb。
3.1 database.yml 设置文件

database.yml 文件用于设置数据库毗连信息,包括主数据库和从数据库的设置。
设置示例

  1. production:
  2.   adapter: mysql
  3.   database: myapp_production
  4.   username: root
  5.   password:
  6.   host: localhost
  7. production_slave_database:
  8.   adapter: mysql
  9.   database: myapp_production
  10.   username: root
  11.   password:
  12.   host: 10.0.0.2
  13. production_slave_database_2:
  14.   adapter: mysql
  15.   database: myapp_production
  16.   username: root
  17.   password:
  18.   host: 10.0.0.3
复制代码
3.2 environment.rb 设置文件

environment.rb 文件用于设置 multi_db 的全局设置,包括启用毗连代理和设置主模子。
设置示例

  1. # environment.rb
  2. # 启用连接代理
  3. MultiDb::ConnectionProxy.setup
  4. # 设置主模型
  5. MultiDb::ConnectionProxy.master_models = ['CGI::Session::ActiveRecordStore::Session', 'PaymentTransaction']
复制代码
设置文件功能



  • database.yml: 设置主数据库和从数据库的毗连信息。
  • environment.rb: 启用 multi_db 的毗连代理,并设置需要强制利用主数据库的模子。
通过以上设置,multi_db 可以实现单主多从的数据库摆设,并根据读写操作自动选择合适的数据库进行操作。
    multi_db Connection proxy for ActiveRecord for single master / multiple slave database deployments  
项目地点: https://gitcode.com/gh_mirrors/mu/multi_db   

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表