markMigrationApplied method

Future<bool> markMigrationApplied({
  1. required SessionExecutor executor,
  2. required String migrationName,
  3. required int statementCount,
  4. required String checksum,
  5. required String beforeSchema,
  6. required String afterSchema,
  7. required List<String> warnings,
  8. required bool rebuildRequired,
})

Inserts an apply record without executing schema statements.

Implementation

Future<bool> markMigrationApplied({
  required pg.SessionExecutor executor,
  required String migrationName,
  required int statementCount,
  required String checksum,
  required String beforeSchema,
  required String afterSchema,
  required List<String> warnings,
  required bool rebuildRequired,
}) async {
  await ensureHistoryTable(executor);
  final activeNames = _activeMigrationNames(await loadHistory(executor));
  if (activeNames.contains(migrationName)) {
    return false;
  }

  await executor.run((session) {
    return _recordHistory(
      session,
      migrationName: migrationName,
      statementCount: statementCount,
      kind: PostgresqlMigrationRecordKind.apply,
      provider: providerName,
      checksum: checksum,
      beforeSchema: beforeSchema,
      afterSchema: afterSchema,
      warnings: warnings,
      rebuildRequired: rebuildRequired,
    );
  });
  return true;
}