diff options
author | Michael Koziarski <michael@koziarski.com> | 2008-12-01 21:19:55 +0100 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-12-01 21:38:30 +0100 |
commit | a8fc494dbb86be13248613565c0b611c561cdc48 (patch) | |
tree | e7cf851ef6e2a76b9fde59d9a72b98900a2f6c9d /railties | |
parent | 06ed8e451198b2296d8b2752741e259b4f995081 (diff) | |
download | rails-a8fc494dbb86be13248613565c0b611c561cdc48.tar.gz rails-a8fc494dbb86be13248613565c0b611c561cdc48.tar.bz2 rails-a8fc494dbb86be13248613565c0b611c561cdc48.zip |
Manually load the DB config rather than firing the whole initializer [Gerrit Kaiser]
Diffstat (limited to 'railties')
-rw-r--r-- | railties/lib/tasks/databases.rake | 13 | ||||
-rw-r--r-- | railties/lib/tasks/misc.rake | 6 |
2 files changed, 15 insertions, 4 deletions
diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake index 5cb27f1f10..2140adb76e 100644 --- a/railties/lib/tasks/databases.rake +++ b/railties/lib/tasks/databases.rake @@ -1,7 +1,12 @@ namespace :db do + task :load_config => :rails_env do + require 'active_record' + ActiveRecord::Base.configurations = Rails::Configuration.new.database_configuration + end + namespace :create do desc 'Create all the local databases defined in config/database.yml' - task :all => :environment do + task :all => :load_config do ActiveRecord::Base.configurations.each_value do |config| # Skip entries that don't have a database key, such as the first entry here: # @@ -22,7 +27,7 @@ namespace :db do end desc 'Create the database defined in config/database.yml for the current RAILS_ENV' - task :create => :environment do + task :create => :load_config do create_database(ActiveRecord::Base.configurations[RAILS_ENV]) end @@ -76,7 +81,7 @@ namespace :db do namespace :drop do desc 'Drops all the local databases defined in config/database.yml' - task :all => :environment do + task :all => :load_config do ActiveRecord::Base.configurations.each_value do |config| # Skip entries that don't have a database key next unless config['database'] @@ -87,7 +92,7 @@ namespace :db do end desc 'Drops the database for the current RAILS_ENV' - task :drop => :environment do + task :drop => :load_config do config = ActiveRecord::Base.configurations[RAILS_ENV || 'development'] begin drop_database(config) diff --git a/railties/lib/tasks/misc.rake b/railties/lib/tasks/misc.rake index 5c99725203..411750bf40 100644 --- a/railties/lib/tasks/misc.rake +++ b/railties/lib/tasks/misc.rake @@ -3,6 +3,12 @@ task :environment do require(File.join(RAILS_ROOT, 'config', 'environment')) end +task :rails_env do + unless defined? RAILS_ENV + RAILS_ENV = ENV['RAILS_ENV'] ||= 'development' + end +end + desc 'Generate a crytographically secure secret key. This is typically used to generate a secret for cookie sessions.' task :secret do puts ActiveSupport::SecureRandom.hex(64) |