Getting database config info


#1

Hi folks. I have a very small problem which is probably very simple. But
I’ve scoured the api and the rails book with no luck.
I’m trying to get information about the database definition out of
active
record. When I go into console and say

ActiveRecord::Base.connection

I get a MysqlAdapter object, with an instance variable called @config
that’s
a hash containing all the information I need. However I can’t get at the
config variable. I can think of two solutions, neither of which is
entirely
satisfactory. Either extend the definition of MysqlAdapter to include an
accessor for database name, but I’m loathe to do this as it’s hacky and
will
cause problems with switching to different database types and updates to
rails. The other is to parse the config file myself, but again this is
clearly not clever as it’s duplication.

Thanks in advance

Robbie


#2

I’ve asked a similar question, Peter has helped me as follow.

Hope this help you too


From: Peter D. removed_email_address@domain.invalid Mailed-By:
lists.rubyonrails.org
Date: Dec 22, 2005 10:50 PM
Subject: Re: [Rails] [NEWB] How to access database.yml parameters in a
controller

On 12/23/05, Mathieu C. removed_email_address@domain.invalid wrote:

Are the active database.yaml attributes for the current environment
(dev, prod, test) available inside a controler ?

ActiveRecord::Base.configurations[RAILS_ENV.to_sym][‘database’]
ActiveRecord::Base.configurations[RAILS_ENV.to_sym][‘host’]
ActiveRecord::Base.configurations[RAILS_ENV.to_sym][‘adapter’]


#3

thank you very much. I couldn’t get this to work in console

ActiveRecord::Base.configurations[RAILS_ENV.to_sym][‘database’]

I didn’t try it in a controller, but following your lead I did get this
to
work, which does exactly what I need

ActiveRecord::Base.configurations[‘development’][‘database’]

cheers


#4

I had some trouble finding these answers, because I couldn’t find out
a decent set of keywords to search for. After finding the answer in
this thread, I added it to [1]. If you will, please take a look and
modify it in any way you see fit.

Thanks for providing the answer to my question,

  • Rowan

[1] http://wiki.rubyonrails.org/rails/pages/database.yml