aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/migration.rb
diff options
context:
space:
mode:
authorMarc-Andre Lafortune <github@marc-andre.ca>2012-08-06 22:20:34 -0400
committerMarc-Andre Lafortune <github@marc-andre.ca>2012-12-21 13:54:51 -0500
commit24653c945ad3fdce4cb5890a9cc7565753decda0 (patch)
tree7248704ec7eea96c18ea4c3e01f045dbd30b0658 /activerecord/lib/active_record/migration.rb
parentd327c1805a58641a15d76e5e7de2f3fa1c0b9d03 (diff)
downloadrails-24653c945ad3fdce4cb5890a9cc7565753decda0.tar.gz
rails-24653c945ad3fdce4cb5890a9cc7565753decda0.tar.bz2
rails-24653c945ad3fdce4cb5890a9cc7565753decda0.zip
Extract exec_migration [#8267]
Diffstat (limited to 'activerecord/lib/active_record/migration.rb')
-rw-r--r--activerecord/lib/active_record/migration.rb27
1 files changed, 16 insertions, 11 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index b292b35ff4..14c1fb9ae2 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -445,17 +445,7 @@ module ActiveRecord
time = nil
ActiveRecord::Base.connection_pool.with_connection do |conn|
time = Benchmark.measure do
- @connection = conn
- if respond_to?(:change)
- if direction == :down
- revert { change }
- else
- change
- end
- else
- send(direction)
- end
- @connection = nil
+ exec_migration(conn, direction)
end
end
@@ -465,6 +455,21 @@ module ActiveRecord
end
end
+ def exec_migration(conn, direction)
+ @connection = conn
+ if respond_to?(:change)
+ if direction == :down
+ revert { change }
+ else
+ change
+ end
+ else
+ send(direction)
+ end
+ ensure
+ @connection = nil
+ end
+
def write(text="")
puts(text) if verbose
end