|
|
@ -37,4 +37,16 @@ module ActiveRecord |
|
|
|
super(direction, migrations, target_version) |
|
|
|
super(direction, migrations, target_version) |
|
|
|
end |
|
|
|
end |
|
|
|
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 |
|
|
|
end |
|
|
|