diff options
author | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-08-06 22:20:34 -0400 |
---|---|---|
committer | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-12-21 13:54:51 -0500 |
commit | 24653c945ad3fdce4cb5890a9cc7565753decda0 (patch) | |
tree | 7248704ec7eea96c18ea4c3e01f045dbd30b0658 | |
parent | d327c1805a58641a15d76e5e7de2f3fa1c0b9d03 (diff) | |
download | rails-24653c945ad3fdce4cb5890a9cc7565753decda0.tar.gz rails-24653c945ad3fdce4cb5890a9cc7565753decda0.tar.bz2 rails-24653c945ad3fdce4cb5890a9cc7565753decda0.zip |
Extract exec_migration [#8267]
-rw-r--r-- | activerecord/lib/active_record/migration.rb | 27 |
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 |