aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/tasks/database_tasks.rb
diff options
context:
space:
mode:
authorJack Danger Canty <github@jackcanty.com>2014-07-30 14:51:17 -0700
committerJack Danger Canty <github@jackcanty.com>2014-07-31 10:06:04 -0700
commitd66ed3b08d8035d4bcb20a26a5739415c0b92428 (patch)
tree3b228e0ddc05687cbca47fd0766680a10808698b /activerecord/lib/active_record/tasks/database_tasks.rb
parent30194a5b475ea91f9709f64a08e6645cedbe4cb5 (diff)
downloadrails-d66ed3b08d8035d4bcb20a26a5739415c0b92428.tar.gz
rails-d66ed3b08d8035d4bcb20a26a5739415c0b92428.tar.bz2
rails-d66ed3b08d8035d4bcb20a26a5739415c0b92428.zip
Add ActiveRecord::Tasks::DatabaseTasks.migrate
This extracts the logic that was embedded in a Rake task into a static method. Bonus: the first test for `rake db:migrate`
Diffstat (limited to 'activerecord/lib/active_record/tasks/database_tasks.rb')
-rw-r--r--activerecord/lib/active_record/tasks/database_tasks.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb
index b7315ed4b3..72e0cf3723 100644
--- a/activerecord/lib/active_record/tasks/database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/database_tasks.rb
@@ -127,6 +127,16 @@ module ActiveRecord
}
end
+ def migrate
+ verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
+ version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
+ scope = ENV['SCOPE']
+ Migration.verbose = verbose
+ Migrator.migrate(Migrator.migrations_paths, version) do |migration|
+ scope.blank? || scope == migration.scope
+ end
+ end
+
def charset_current(environment = env)
charset ActiveRecord::Base.configurations[environment]
end