aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorMichael Raidel <raidel@induktiv.at>2008-06-13 16:14:07 +0200
committerJeremy Kemper <jeremy@bitsweat.net>2008-06-22 18:16:17 -0700
commitf94600bdaf7d73971ad9a53148b0844c2efb901d (patch)
tree12be24df5ae0336cb8b1c9d4a6f4882b007e6e78 /activerecord/lib
parent1afae84ab2656cd58a861ab4a4b1745d80088d0f (diff)
downloadrails-f94600bdaf7d73971ad9a53148b0844c2efb901d.tar.gz
rails-f94600bdaf7d73971ad9a53148b0844c2efb901d.tar.bz2
rails-f94600bdaf7d73971ad9a53148b0844c2efb901d.zip
ActiveRecord::Migrator#run records version-state after migrating. [#369 state:resolved]
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/migration.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index b47b01e99a..e095b3c766 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -399,7 +399,10 @@ module ActiveRecord
def run
target = migrations.detect { |m| m.version == @target_version }
raise UnknownMigrationVersionError.new(@target_version) if target.nil?
- target.migrate(@direction)
+ unless (up? && migrated.include?(target.version.to_i)) || (down? && !migrated.include?(target.version.to_i))
+ target.migrate(@direction)
+ record_version_state_after_migrating(target.version)
+ end
end
def migrate