Pregunta

Estoy usando Merb y DataMapper con una base de datos MySQL. Quiero tener acceso a la base de datos de nombre, usuario y la contraseña de una tarea Rake para mi Merb aplicación. Creo que podría YAML.load() la del database.yml, pero que parece fea. ¿Alguna idea?

¿Fue útil?

Solución

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

Lo interesante no es el bit => :merb_env. Esto asegura que la tarea "merb_env" ha ejecutado antes que tu tarea. Esto simplemente carga el entorno Merb, momento en el que se puede proceder a inspeccionar su configuración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top