In short: With the help of the friendly folks in #rails-contrib, I've been working on a patch that provides Ruby configuration of your database connections. I'm looking for people to test the patch and post +1s if it works for them. You can find the patch in Lighthouse: http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/312 (its the last attachment, dry_database_config.diff)
## What's it look like? In config/environment.rb: > config.active_record.connection.configure do |db| > db.adapter = 'mysql' > db.encoding = 'utf8' > end In config/development.rb: > config.active_record.connection.configure do |db| > db.database = 'test_app_development' > db.socket = '/tmp/mysql.sock' > db.username = 'root' > db.password = '' > end So the short of it is that you configure global stuff in environment.rb and environment-specific stuff in the respective files. This generates the connection-specification hashes that ActiveRecord::Base.establish_connection expects. ## Why change? database.yml is workable, but its a little weird at this point. There is no other instance of YAML configuration in one's app when it runs in production. This approach also lets you significantly DRY up your configuration. Its even possible to specify the entire configuration in environment.rb. Idatabase.yml is still loaded if you don't specify the database connection in your environment files. I wouldn't up and take it away from you like that. :) ## Securing your database credentials We all know its a good idea to keep your database credentials (username/password) out of source control. This patch supports that raising an exception if you try to set your username or password in a production setting. Instead, you specify a credentials file like so: > config.active_record.configure do |db| > db.database = 'test_app_production' > db.socket = '/var/run/mysql.sock' > db.credentials = "#{RAILS_ROOT}/config/credentials.rb" > end The preferred credential format is Ruby, like so: > username = 'root' > password = '' YAML is also supported: > username: root > password: ## Other bits and bobs I also patched the application generator to produce an app with no database.yml. Database config bits are added to environment.rb. The adapter-specific comments get added in environment.rb. ## Did I mention I'm looking for +1s Yes, the pandering is strong with this one. Grab dry_database_config.diff from http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/312 and give it a spin. Thanks in advance! -- ~akk http://therealadam.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---