mysql - Rails 4 使用不同的数据库和不同的表

标签 mysql ruby-on-rails database

似乎我有一个小问题:

我在服务器上有我的Rails应用程序,假设名称A,并且我使用那里的所有表(假设表1,表2)....但现在我需要再购买一台服务器,名称B。从那里我也必须使用一些表(比如 table3、table4)。

真的可以在rails中使用来自不同服务器的两个不同的数据库吗?以及如何做到这一点?除了在 ActiveModel 文件中要写什么?

现在我简单地拥有带有一个数据库的database.yml。正如我在问题中所说,如何设置一些编辑?

最佳答案

有可能

在数据库 YML 中:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: app_development
  pool: 5
  username: root
  password:
  host: localhost


aux_development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: aux_development
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock

您的所有模型都将使用“开发”数据库。如果您希望其中之一使用“aux_development”:

class OtherModel < ActiveRecord::Base
  establish_connection "aux_#{Rails.env}"
end

关于mysql - Rails 4 使用不同的数据库和不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23647784/

相关文章:

MySQL 用一个变量从多个表中删除

ruby-on-rails - rails 中是否有时间提前词(与 time_ago_in_words 相反)

sql-server - Mssql 登录失败 ECONNREFUSED 127.0.0.1 :1433

php - 多级注册/登录系统

MySQL - 按 ID 自动排序不起作用

mysql - SQL for ids from same table with relation defined in another table

php - 如何获取表中除一列以外的所有列

ruby-on-rails - 选择与 AWS 一起使用的 gem

ruby-on-rails - 在 Ruby on Rails 中向 index.html.erb 添加分页 - 简单问题

database - 使用批处理文件通过网络终止进程