gpt4 book ai didi

database - 为什么在手动建立与 wordpress 数据库的新连接后我无法访问我的 Rails 应用程序数据库?

转载 作者:太空狗 更新时间:2023-10-30 01:48:58 25 4
gpt4 key购买 nike

我有一个运行着 postgres 数据库的 Rails 4.2 应用程序。我需要按需连接其他数据库 (word_press_sites)。

我已经尝试将下面的代码写入 Rails 控制台:

ActiveRecord::Base.establish_connection(
adapter: "mysql2",
host: ENV["HOST"],
username: ENV["USERNAME"],
password: ENV["PASSWORD"],
database: ENV["DB_NAME"]
)

以上代码结果,没有错误,连接到 word_press database_tables。

1) 如果我试图通过在我的 Rails 应用程序数据库中调用 User.all 来访问该表,我将无法访问,这会引发错误。

最佳答案

打开rails控制台后可以查看

ActiveRecord::Base.connection.current_database

这将提供当前的数据库信息,然后尝试您提供的脚本

ActiveRecord::Base.establish_connection(
adapter: "mysql2",
host: ENV["HOST"],
username: ENV["USERNAME"],
password: ENV["PASSWORD"],
database: ENV["DB_NAME"]
)

现在尝试同样的命令

ActiveRecord::Base.connection.current_database

这会给新连接的 ActiveRecord 连接这意味着事件记录被转移到新连接的 wordpress 数据库中,因此您无法访问 rails 应用程序数据库中的表

如果你想恢复到你的 Rails 应用程序数据库,你可以这样做

ActiveRecord::Base.remove_connection(ActiveRecord::Base)

如果您需要更多信息,请告诉我

关于database - 为什么在手动建立与 wordpress 数据库的新连接后我无法访问我的 Rails 应用程序数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44735778/

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