Table of Contents

Class MigrationTracker

Namespace
CL.MySQL2.Services
Assembly
CL.MySQL2.dll

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

connectionManager ConnectionManager
logger ILogger

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

connectionId string

Connection ID to use.

ct CancellationToken

Cancellation token.

Returns

Task<bool>

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

connectionId string

Connection ID to use.

ct CancellationToken

Cancellation token.

Returns

Task<List<MigrationRecord>>

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

migrationId string

The unique migration identifier.

connectionId string

Connection ID to use.

ct CancellationToken

Cancellation token.

Returns

Task<bool>

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

migrationId string

The unique migration identifier.

description string

Human-readable description. Optional.

checksum string

Optional checksum of the migration script.

connectionId string

Connection ID to use.

ct CancellationToken

Cancellation token.

Returns

Task<bool>

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

migrationId string

The migration ID to remove.

connectionId string

Connection ID to use.

ct CancellationToken

Cancellation token.

Returns

Task<bool>