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
Properties
Versions
Sequential collection of all database versions.
public ReadOnlySpan<ISqlDatabaseVersion> Versions { get; }
Property Value
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.