このデータベース構成はdatabase.ymlファイルにあります
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: oma_development
pool: 5
username: root
password:
host: localhost
test:
# same as in development section
production:
# same as in development section
development_blacklist:
adapter: mysql2
encoding: utf8
database: webstuff
username: login
password: password
host: remote-database.com
test_blacklist:
adapter: mysql2
encoding: utf8
database: webstuff
username: megas
password:
host: /var/run/mysqld/mysqld.sock
そして、私はレーキタスクを実行したい:
namespace :db do
namespace :schema do
desc 'Dump blacklist database schema'
task :dump => [:environment, :load_config] do
filename = "#{Rails.root}/db/blacklist_schema.rb"
File.open(filename, 'w:utf-8') do |file|
ActiveRecord::Base.establish_connection("development_blacklist")
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
end
end
end
end
このコマンドを呼び出すと、次のようになります。
rake db:schema:dump
そして、私はエラーがあります:
rake aborted!
Access denied for user 'root'@'localhost' (using password: NO)
development
したがって、rakeタスクはセクションからデータベースに接続しようとしているようです。
development
rakeタスクがデータベースに接続しようとしているのにrakeタスクがデータベースに接続しようとしている理由がわかりませんdevelopment_blacklist
。
development_blacklist
データベースにのみ接続するようにrakeタスクを設定するにはどうすればよいですか?