Question

J'utilise Merb et DataMapper avec db MySQL. Je veux accéder au nom de la base de données, l'utilisateur et le mot de passe d'une tâche Rake pour mon application Merb. Je suppose que je pourrais YAML.load() le l'database.yml, mais cela semble laid. Toutes les idées?

Était-ce utile?

La solution

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

La partie intéressante, il y a le bit => :merb_env. Cela garantit que la tâche « merb_env » a exécuté avant votre tâche ne. Cette charge simplement l'environnement Merb, à quel point vous pouvez procéder à l'inspection de sa configuration.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top