From 32a800761e3e6b126a9892375469bf0c2b455116 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 9 Jul 2005 16:28:15 +0000 Subject: Made target migrations actually work git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1781 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/lib/active_record/migration.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb index a71e367ef2..6709439764 100644 --- a/activerecord/lib/active_record/migration.rb +++ b/activerecord/lib/active_record/migration.rb @@ -169,7 +169,7 @@ module ActiveRecord end def migrate - migration_classes do |version, migration_class| + migration_classes.each do |(version, migration_class)| Base.logger.info("Reached target version: #{@target_version}") and break if reached_target_version?(version) next if irrelevant_migration?(version) @@ -181,11 +181,13 @@ module ActiveRecord private def migration_classes - for migration_file in migration_files + migrations = migration_files.collect do |migration_file| load(migration_file) version, name = migration_version_and_name(migration_file) - yield version, migration_class(name) + [ version.to_i, migration_class(name) ] end + + down? ? migrations.sort.reverse : migrations.sort end def migration_files -- cgit v1.2.3