loadHistory method

List<SqliteMigrationRecord> loadHistory(
  1. Database database
)

Loads the full migration history ordered by application time.

Implementation

List<SqliteMigrationRecord> loadHistory(sqlite.Database database) {
  ensureHistoryTable(database);
  final rows = database.select('''
          SELECT name, applied_at, statement_count, kind, target_name,
            provider, checksum, before_schema, after_schema,
            warnings, rebuild_required
    FROM "$historyTableName"
    ORDER BY applied_at ASC, name ASC
  ''');

  return rows
      .map(
        (row) => SqliteMigrationRecord(
          name: row['name'] as String,
          appliedAt: DateTime.parse(row['applied_at'] as String),
          statementCount: row['statement_count'] as int,
          kind: _parseRecordKind(row['kind'] as String? ?? 'apply'),
          warnings: decodeMigrationWarnings(row['warnings'] as String?),
          rebuildRequired: (row['rebuild_required'] as int? ?? 0) != 0,
          targetName: row['target_name'] as String?,
          provider: row['provider'] as String?,
          checksum: row['checksum'] as String?,
          beforeSchema: row['before_schema'] as String?,
          afterSchema: row['after_schema'] as String?,
        ),
      )
      .toList(growable: false);
}