Class MigrationTracker
Tracks applied database migrations in a dedicated __migrations table.
Supports recording migrations and querying applied history.
public sealed class MigrationTracker
- Inheritance
-
MigrationTracker
- Inherited Members
Constructors
MigrationTracker(ConnectionManager, ILogger?)
public MigrationTracker(ConnectionManager connectionManager, ILogger? logger = null)
Parameters
connectionManagerConnectionManagerloggerILogger
Methods
EnsureMigrationsTableAsync(string, CancellationToken)
Ensures the migrations tracking table exists. Should be called once during library initialization.
public Task<bool> EnsureMigrationsTableAsync(string connectionId = "Default", CancellationToken ct = default)
Parameters
connectionIdstringConnection ID to use.
ctCancellationTokenCancellation token.
Returns
GetAppliedMigrationsAsync(string, CancellationToken)
Returns the list of all applied migration records, ordered by application date.
public Task<List<MigrationRecord>> GetAppliedMigrationsAsync(string connectionId = "Default", CancellationToken ct = default)
Parameters
connectionIdstringConnection ID to use.
ctCancellationTokenCancellation token.
Returns
HasMigrationBeenAppliedAsync(string, string, CancellationToken)
Returns true when the migration with the given ID has already been applied.
public Task<bool> HasMigrationBeenAppliedAsync(string migrationId, string connectionId = "Default", CancellationToken ct = default)
Parameters
migrationIdstringThe unique migration identifier.
connectionIdstringConnection ID to use.
ctCancellationTokenCancellation token.
Returns
RecordMigrationAsync(string, string?, string?, string, CancellationToken)
Records a successfully applied migration.
public Task<bool> RecordMigrationAsync(string migrationId, string? description = null, string? checksum = null, string connectionId = "Default", CancellationToken ct = default)
Parameters
migrationIdstringThe unique migration identifier.
descriptionstringHuman-readable description. Optional.
checksumstringOptional checksum of the migration script.
connectionIdstringConnection ID to use.
ctCancellationTokenCancellation token.
Returns
RemoveMigrationRecordAsync(string, string, CancellationToken)
Removes a migration record (e.g., for rollback purposes).
public Task<bool> RemoveMigrationRecordAsync(string migrationId, string connectionId = "Default", CancellationToken ct = default)
Parameters
migrationIdstringThe migration ID to remove.
connectionIdstringConnection ID to use.
ctCancellationTokenCancellation token.