Method: DataMigrate::MigrationContext#migrations_status

Defined in:
lib/data_migrate/migration_context.rb

#migrations_statusObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/data_migrate/migration_context.rb', line 45

def migrations_status
  db_list = DataMigrate::RailsHelper.data_schema_migration.normalized_versions

  file_list = migration_files.map do |file|
    version, name, scope = parse_migration_filename(file)
    raise ActiveRecord::IllegalMigrationNameError.new(file) unless version
    version = DataMigrate::RailsHelper.schema_migration.normalize_migration_number(version)
    status = db_list.delete(version) ? "up" : "down"
    [status, version, (name + scope).humanize]
  end.compact

  db_list.map! do |version|
    ["up", version, "********** NO FILE **********"]
  end

  (db_list + file_list).sort_by { |_, version, _| version }
end