From a8fc494dbb86be13248613565c0b611c561cdc48 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Mon, 1 Dec 2008 21:19:55 +0100 Subject: Manually load the DB config rather than firing the whole initializer [Gerrit Kaiser] --- railties/lib/tasks/databases.rake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'railties/lib/tasks/databases.rake') 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) -- cgit v1.2.3 From a0bc480e1ddcaa015927c2d941e7b96a8ce4f6fa Mon Sep 17 00:00:00 2001 From: Aliaksey Kandratsenka Date: Fri, 28 Nov 2008 17:09:46 +0200 Subject: establish mysql connection before dropping database Signed-off-by: Michael Koziarski [#63 state:committed] --- railties/lib/tasks/databases.rake | 1 + 1 file changed, 1 insertion(+) (limited to 'railties/lib/tasks/databases.rake') diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake index 2140adb76e..a90c1d4a77 100644 --- a/railties/lib/tasks/databases.rake +++ b/railties/lib/tasks/databases.rake @@ -398,6 +398,7 @@ end def drop_database(config) case config['adapter'] when 'mysql' + ActiveRecord::Base.establish_connection(config) ActiveRecord::Base.connection.drop_database config['database'] when /^sqlite/ FileUtils.rm(File.join(RAILS_ROOT, config['database'])) -- cgit v1.2.3