Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Class DatabaseVersionValidator

Validates the database version against the supported assembly version.

Inheritance
System.Object
DatabaseVersionValidator
Implements
Namespace: EPiServer.Data.SchemaUpdates.Internal
Assembly: EPiServer.Data.dll
Version: 12.0.3
Syntax
[ServiceConfiguration]
public class DatabaseVersionValidator : Object, ISchemaUpdater

Constructors

DatabaseVersionValidator(IDatabaseExecutor, IDatabaseConnectionResolver, ScriptExecutor)

Declaration
public DatabaseVersionValidator(IDatabaseExecutor databaseHandler, IDatabaseConnectionResolver databaseConnectionResolver, ScriptExecutor scriptExecutor)
Parameters
Type Name Description
IDatabaseExecutor databaseHandler
IDatabaseConnectionResolver databaseConnectionResolver
ScriptExecutor scriptExecutor

Methods

GetDatabaseVersion()

Gets the database version.

Declaration
public virtual Version GetDatabaseVersion()
Returns
Type Description
System.Version

GetStatus(IEnumerable<ConnectionStringOptions>)

Called during startup to collect status of the databases.

Declaration
public SchemaStatus GetStatus(IEnumerable<ConnectionStringOptions> connectionStrings)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ConnectionStringOptions> connectionStrings
Returns
Type Description
SchemaStatus

The handled database and the current version of the database.

ThrowUpdateCodeException(Version, Version)

Throws an NotSupportedException exception saying that packages needs to be updated.

Declaration
public virtual void ThrowUpdateCodeException(Version databaseVersion, Version codeVersion)
Parameters
Type Name Description
System.Version databaseVersion

The database version

System.Version codeVersion

The .NET code version

ThrowUpdateDatabaseException(Version, Version)

Throws an NotSupportedException exception saying that database needs to be updated.

Declaration
public virtual void ThrowUpdateDatabaseException(Version databaseVersion, Version codeVersion)
Parameters
Type Name Description
System.Version databaseVersion

The database version

System.Version codeVersion

The .NET code version

Update(ConnectionStringOptions)

Called during startup if result from GetStatus(IEnumerable<ConnectionStringOptions>) indicates that an update is required.

Declaration
public void Update(ConnectionStringOptions connectionStringSettings)
Parameters
Type Name Description
ConnectionStringOptions connectionStringSettings
Remarks

An update is considered to be required if the DatabaseVersion is undefined and createDatabaseSchema attribute on episerver.framework element is true OR if the DatabaseVersion is lower than ApplicationRequiredVersion. and updateDatabaseSchema attribute on episerver.framework element is true AND no ISchemaValidator implemenations return false from method IsDatabaseUpdateAllowed(ConnectionStringOptions).

ValidateDatabaseVersion(Version)

Validates the database version.

Declaration
public virtual void ValidateDatabaseVersion(Version supportedVersion)
Parameters
Type Name Description
System.Version supportedVersion
Exceptions
Type Condition
System.NotSupportedException

Will be thrown if the database version not maches the supported version.

Implements

Extension Methods