4

我的项目中有多个数据库,我想打开 rails 控制台来访问这两个数据库。

目前我只能获取一个默认数据库的数据。

换句话说,如何打开特定的数据库控制台?

4

2 回答 2

1

换句话说,如何打开特定的数据库控制台?

来自官方指南

bin/rails dbconsole找出您正在使用的数据库并将您放入您将使用的任何命令行界面(并找出要提供给它的命令行参数!)。它支持 MySQL(包括 MariaDB)、PostgreSQL 和 SQLite3。

您还可以使用别名“db”来调用 dbconsole: bin/rails db

如果您使用多个数据库,bin/rails dbconsole则默认连接到主数据库。--database您可以使用或指定要连接的数据库--db

bin/rails dbconsole --database=animals

所以命令是

rails db --db=db_name_from_database_yml

例如,您在您的database.yml

production:
  my_primary:
    adapter: postgresql
    database: some_db_name

在这种情况下,您的命令将是

bundle exec rails db --db=my_primary -e=production
于 2021-08-31T15:47:06.607 回答
1

您为什么不阅读文档https://guides.rubyonrails.org/active_record_multiple_databases.html。你应该能够找到你需要的东西。connected_to 会自动或手动完成数据库切换的技巧。

https://api.rubyonrails.org/classes/ActiveRecord/ConnectionHandling.html#method-i-connected_to

ActiveRecord::Base.connected_to(database: :mydb) do
  # Do something here...
end
于 2021-09-01T10:08:28.913 回答