gpt4 book ai didi

mysql - Rails - 将不同的 mysql 数据库查询到标准应用程序数据库

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:29 26 4
gpt4 key购买 nike

我将 Rails 2.2.2 和 Ruby 1.8.6 与遗留应用程序和 MySQL 一起使用。 (请不要告诉我我需要升级 ruby​​/rails)。

我在本地 MySql 中安装了我们的实时数据库的备份作为不同的数据库。这有时对于查询历史数据很有用,因为它并不总是保存在我们的事件数据库中。

我想做的就是这样

school_ids = [123, 456, 789]
signin_counts = {}

#collect current data
school_ids.each do |school_id|
signin_counts[school_id] ||= {}
signin_counts[school_id][:now] = ActiveRecord::Base.connection.select_value("select count(*) from sign_ins where school_id = #{school.id}").to_i
end

#switch to the old database - how to do this?
CURRENT_DB = "my_old_backup_db_name"
school_ids.each do |school_id|
signin_counts[school_id] ||= {}
signin_counts[school_id][:then] = ActiveRecord::Base.connection.select_value("select count(*) from sign_ins where school_id = #{school.id}").to_i
end

#switch back
CURRENT_DB = "my_regular_db_name"

有人知道如何做 CURRENT_DB = 部分吗?谢谢

最佳答案

如果您在继承ActiveRecord::Base 的模型文件中,您可以:

  mysql_database = establish_connection (
adapter: "mysql",
host: "your_db_host",
username: "your_db_username",
password: "your_db_password",
database: "your_db_name"
)

这篇文章很好地解释了如何使用establish_connection http://ilikestuffblog.com/2012/09/21/establishing-a-connection-to-a-non-default-database-in-rails-3-2-2/并且可能足够旧,可以与您的 Rails 版本相关,但是,版本 2 和版本 3 之间发生了很多变化

关于mysql - Rails - 将不同的 mysql 数据库查询到标准应用程序数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50331125/

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