gpt4 book ai didi

ruby-on-rails - 在 Rails 中使用两个数据库?

转载 作者:行者123 更新时间:2023-11-29 14:01:33 26 4
gpt4 key购买 nike

是否可以在 Rails 应用程序中使用两种类型的数据库?

我正在使用 2 个数据库 - Postgres 来存储可能变化不大的数据,以及 MongoDB存储动态变化的数据。

这是有效的方法吗?是否可以连接这两个数据库并进行操作在单个 Rails 应用程序中?

如有错误请指正

问候,巴兰

最佳答案

是的,这是可能的,这是我旧代码中的一个示例(但这里我们对两个数据库都使用 mysql,但我认为您可以得到一个想法)

在database.yml文件中定义两个数据库

development: &defaults
adapter: mysql
encoding: utf8
database: DB1
enable_call: true
username:
password:
host:

portal_development: &defaults
adapter: mysql
encoding: utf8
database: DB2
enable_call: true
username:
password:
host:

在您的模型中必须将基础模型与上述数据库相结合

portal_base.rb

class PortalBase < ActiveRecord::Base
self.abstract_class = true
establish_connection "portal_#{Rails.env}"

def self.table_name_prefix
"DB1."
end
end

默认_base.rb

class DefaultBase < ActiveRecord::Base

self.abstract_class = true

establish_connection "#{Rails.env}"

def self.table_name_prefix
"DB2."
end

end

并相应地推导你的模型

class Client < PortalBase
#code
end

希望你现在有想法:)

关于ruby-on-rails - 在 Rails 中使用两个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14100951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com