0
私はMerbとDataMapperをMySQLデータベースで使用しています。 MerbアプリケーションのRakeタスクからデータベース名、ユーザー、およびパスワードにアクセスしたいと思います。私はYAML.load()
のdatabase.ymlを見ることができると思いますが、それは醜いようです。何か案は?Merb&DataMapper - データベース接続情報にアクセスしますか?
私はMerbとDataMapperをMySQLデータベースで使用しています。 MerbアプリケーションのRakeタスクからデータベース名、ユーザー、およびパスワードにアクセスしたいと思います。私はYAML.load()
のdatabase.ymlを見ることができると思いますが、それは醜いようです。何か案は?Merb&DataMapper - データベース接続情報にアクセスしますか?
desc "outputs database connection parameters"
task :db_conn => :merb_env do |t|
puts "Username: #{DataMapper.repository.adapter.uri.user}"
puts "Password: #{DataMapper.repository.adapter.uri.password}"
puts "Database: #{DataMapper.repository.adapter.uri.path.split('/').last}"
end
興味深い部分は=> :merb_env
ビットです。それはあなたの仕事の前に "merb_env"タスクが実行されたことを保証します。これにより、Merb環境がロードされます。その時点で、設定を検査することができます。