def migrations_status
db_list = DataSchemaMigration.normalized_versions
file_list = migration_files.map do |file|
version, name, scope = parse_migration_filename(file)
raise ActiveRecord::IllegalMigrationNameError.new(file) unless version
version = ActiveRecord::SchemaMigration.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