Fix ActiveRecord::Migration.check_pending! failing because of duplicate migrations

This commit is contained in:
Thibaut Girka 2020-02-10 19:03:14 +01:00 committed by ThibG
parent 3d7fd4a2df
commit 2edf317efc

View File

@ -37,4 +37,16 @@ module ActiveRecord
super(direction, migrations, target_version)
end
end
class MigrationContext
def needs_migration?
# A set of duplicated migrations is considered migrated if at least one of
# them is migrated.
migrated = get_all_versions
migrations.group_by(&:name).each do |name, duplicates|
return true unless duplicates.any? { |m| migrated.include?(m.version.to_i) }
end
return false
end
end
end