gpt4 book ai didi

mysql - 如何并行连接到 Rails 应用程序中的两个数据库服务器?

转载 作者:行者123 更新时间:2023-11-29 02:52:11 25 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我想连接到两个数据库服务器。一个是ms-sql(microsoft sql server),另一个是mysql 数据库。我怎样才能并行连接到两台服务器。我知道有些人在开发中使用 sqlite3,在生产中使用 postgres 数据库。我不想这样。我想要的是开发或生产我想并行连接到两个数据库。我怎么能够?我需要以什么方式编写 database.yml 文件。是否有用于连接到 ms-sql server 数据库的 gem?

default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: mysql-user-name
password: mysql-password
socket: /var/run/mysqld/mysqld.sock

adapter: ms-sql like gem?
encoding: utf8
pool: 5
username: ms-sql-user-name
password: ms-sql-password
socket: /var/run/mysqld/mysqld.sock



development:
<<: *default
database: template_development

最佳答案

我已经完成了 something similar ,尽管在涉及 has_many :through:

之类的问题时存在一个主要问题
#lib/parallel.rb
class Parallel < ActiveRecord::Base
establish_connection "other_#{RAILS_ENV}"
end

#config/database.yml
development:
adapter: mysql
database: development
username: root
password:
host: localhost

other_development:
adapter: mysql
database: otherdb_development
username: root
password:
host: localhost

这允许您从“其他连接”数据库继承:

#app/models/user.rb
class User < Parallel
...
end

虽然这很完美(尽管有一些问题与另一个数据库的 schema 有关),但在尝试使用 has_many :through.

我没有任何细节,但您必须小心混合数据库与此功能之间的关联。

关于mysql - 如何并行连接到 Rails 应用程序中的两个数据库服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34543301/

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