Table of Contents

Class SqlDatabaseVersionHistory

Namespace
LfrlAnvil.Sql.Versioning
Assembly
LfrlAnvil.Sql.Core.dll

Represents a sequential history of all database versions.

public class SqlDatabaseVersionHistory
Inheritance
SqlDatabaseVersionHistory
Inherited Members

Constructors

SqlDatabaseVersionHistory(params ISqlDatabaseVersion[])

Creates a new SqlDatabaseVersionHistory instance.

public SqlDatabaseVersionHistory(params ISqlDatabaseVersion[] versions)

Parameters

versions ISqlDatabaseVersion[]

Sequential collection of all database versions.

Exceptions

SqlDatabaseVersionHistoryException

When first version's identifier is equal to InitialVersion or when versions are not ordered in ascending order by their Value or when version identifiers are not unique.

SqlDatabaseVersionHistory(IEnumerable<ISqlDatabaseVersion>)

Creates a new SqlDatabaseVersionHistory instance.

public SqlDatabaseVersionHistory(IEnumerable<ISqlDatabaseVersion> versions)

Parameters

versions IEnumerable<ISqlDatabaseVersion>

Sequential collection of all database versions.

Exceptions

SqlDatabaseVersionHistoryException

When first version's identifier is equal to InitialVersion or when versions are not ordered in ascending order by their Value.

Fields

InitialVersion

Represents an identifier of the initial 0.0 version.

public static readonly Version InitialVersion

Field Value

Version

Properties

Versions

Sequential collection of all database versions.

public ReadOnlySpan<ISqlDatabaseVersion> Versions { get; }

Property Value

ReadOnlySpan<ISqlDatabaseVersion>

Methods

CompareToDatabase(ReadOnlySpan<SqlDatabaseVersionRecord>)

Compares this DB version history to a sequence of versions applied to the database.

[Pure]
public SqlDatabaseVersionHistory.DatabaseComparisonResult CompareToDatabase(ReadOnlySpan<SqlDatabaseVersionRecord> records)

Parameters

records ReadOnlySpan<SqlDatabaseVersionRecord>

Sequence of versions applied to the database.

Returns

SqlDatabaseVersionHistory.DatabaseComparisonResult

New SqlDatabaseVersionHistory.DatabaseComparisonResult instance.

Exceptions

SqlDatabaseVersionHistoryException

When there is any discrepancy between this DB version history and the provided sequence of versions applied to the database.