如何在rails.yml中创建if语句以基于Rails中的当前用户使用不同的数据库

新手

正如我所解释的,我想基于用户使用不同的数据库。

我有一个用devise创建的伙伴表,我创建了多个数据库,这些数据库中的每个数据库都具有相同的架构和相同的关系。

我想完成的是这样的

default: &default
  adapter: mysql2
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db_ <%= current_partners%>

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: db_ <%= current_partners%>

production:
  <<: *default
  database: db_ <%= current_partners%>

为什么我不能使用此语句?

顺便说一句,即时通讯使用mysql2,如代码片段所示。

拉吉

在您的中database.yml,只需提及默认数据库配置。每当您要在数据库之间切换时,请先调用用户定义的switch_database方法以连接到另一个数据库,然后再命中相应的数据库。就像是:

def switch_database
  establish_connection (
    :adapter  => "mysql2",
    :host     => "another_host_name",
    :username => "username",
    :password => "password",
    :database => "db_#{current_partner}"
  )
end

根据您的方便调用方法,将上述方法放在适当的文件中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为Rails中的每个客户端使用不同的表创建单独的数据库

如何使用代码史密斯中的数据库的当前存储过程来创建模板?

如何为django中的数据库中的当前数据创建一个表单?

如何在rails 5的数据库中添加可以传递和存储当前时间的按钮?

如何在Rails的数据库中增加时间?

如何在 Ruby On Rails 中读取数据库结果

如何在Rails中回滚数据库事务

如何在Rails中处理数据库错误?

Rails用不同的名称创建开发数据库?

如何在Rails中创建地理和双精度数据库列

如何在 ruby on rails 中创建短期数据库条目?

如何在 dockerized Rails 应用程序中创建 Mysql 测试数据库?

如何在Rails中从数据库创建多个项目选择列表

如何知道Django中数据库的当前名称?

如何知道Django中数据库的当前名称?

如何在Rails中访问YML文件

如何在Laravel 5.2中使用不同的数据库表列名登录?

如何在C#中使用不同的值更新数据库中的多行?

Rails:如何在Ruby on Rails迁移中重命名数据库列?

使用 Rails,如何在数据库中查询聚合数并按周分组?

如何在Vue js中使用axios更新Rails api数据库中的记录?

如何在rails(4.1.5)中以yml.erb的方式创建夹具(对于Devise用户)?

如何在Django中创建用户特定的数据库?

如何在实体框架中创建数据库用户

如何在Rails中创建数组路由

如何在 Rails 中创建动态模型?

如何在Rails中创建动态ID

如何在Rails中创建HTTP请求?

如何在Rails中创建任意链接?