aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/railtie.rb
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2013-04-24 15:37:55 +0200
committerPiotr Sarnacki <drogus@gmail.com>2013-04-24 15:39:08 +0200
commitd1d7c86d0c8dcb7e75a87644b330c4e9e7d6c1c1 (patch)
tree76e3f27e119b48fc6fd9acbaec105a7e97b7ef72 /activerecord/lib/active_record/railtie.rb
parented5caf0993ac3504c0216ec65d8800f14daeafa4 (diff)
downloadrails-d1d7c86d0c8dcb7e75a87644b330c4e9e7d6c1c1.tar.gz
rails-d1d7c86d0c8dcb7e75a87644b330c4e9e7d6c1c1.tar.bz2
rails-d1d7c86d0c8dcb7e75a87644b330c4e9e7d6c1c1.zip
Don't require having Rails.application to run database tasks
Diffstat (limited to 'activerecord/lib/active_record/railtie.rb')
-rw-r--r--activerecord/lib/active_record/railtie.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index 99117b74c5..f3f1663f76 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -36,6 +36,18 @@ module ActiveRecord
rake_tasks do
require "active_record/base"
+
+ ActiveRecord::Tasks::DatabaseTasks.db_dir = Rails.application.config.paths["db"].first
+ ActiveRecord::Tasks::DatabaseTasks.seed_loader = Rails.application
+ ActiveRecord::Tasks::DatabaseTasks.database_configuration = Rails.application.config.database_configuration
+ ActiveRecord::Tasks::DatabaseTasks.migrations_paths = Rails.application.paths['db/migrate'].to_a
+
+ if defined?(ENGINE_PATH) && engine = Rails::Engine.find(ENGINE_PATH)
+ if engine.paths['db/migrate'].existent
+ ActiveRecord::Tasks::DatabaseTasks.migrations_paths += engine.paths['db/migrate'].to_a
+ end
+ end
+
load "active_record/railties/databases.rake"
end