在我的rails应用程序中,我想连接到两个数据库服务器。一个是ms-sql(microsoft sql server)数据库,另一个是mysql数据库。如何并行连接到两台服务器?我知道有些人在开发和生产postgres数据库中使用sqlite3。我不想以这种方式。我想要的是要么是开发,要么是生产,我想要连接到两个数据库并行。我怎么能做到呢?我需要用什么方式来编写database.yml file。有没有连接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发布于 2015-12-31 17:34:06
我做过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这允许您从"other connection“数据库继承:
#app/models/user.rb
class User < Parallel
...
end尽管这种方法工作得很好(尽管存在一些与其他数据库的schema相关的问题),但在尝试使用像has_many :through这样的工具时,您会遇到一个主要问题。
我没有任何细节,但在将db与此功能之间的关联混为一谈时必须小心。
https://stackoverflow.com/questions/34543301
复制相似问题