我的项目中有多个数据库,我想打开 rails 控制台来访问这两个数据库。
目前我只能获取一个默认数据库的数据。
换句话说,如何打开特定的数据库控制台?
我的项目中有多个数据库,我想打开 rails 控制台来访问这两个数据库。
目前我只能获取一个默认数据库的数据。
换句话说,如何打开特定的数据库控制台?
换句话说,如何打开特定的数据库控制台?
来自官方指南:
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
您为什么不阅读文档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