private async Task RunBeforeMigration(IDbMigration migration, DatabaseVersionModel databaseVersion) { // Check Actual DatabaseVersion against the migration version // Don't run unless this Migrations BeforeMigration has not been run if (databaseVersion.IsBeforeMigrationComplete == false) { // Before Migrate await migration.RunOrderedMigration(MigrationStep.Setup, _dbProvider).ConfigureAwait(false); if (_systemRole == SystemRole.Server) { await migration.RunOrderedMigration(MigrationStep.ServerSetup, _dbProvider).ConfigureAwait(false); } if (_systemRole == SystemRole.Client) { await migration.RunOrderedMigration(MigrationStep.ClientSetup, _dbProvider).ConfigureAwait(false); } // Update the database version to show the before migration has been run databaseVersion.IsBeforeMigrationComplete = true; await _dbProvider.Query <DatabaseVersionModel>() .Where(dbv => dbv.VersionNumber == migration.MigrationVersion) .Update(databaseVersion) .ConfigureAwait(false); } }
private async Task RunMigration(IDbMigration migration, DatabaseVersionModel databaseVersion) { // Check Actual DatabaseVersion against the migration version // Don't run unless this Migrations Migration has not been run if (databaseVersion.IsMigrationComplete == false) { await migration.RunOrderedMigration(MigrationStep.Migrate, _dbProvider).ConfigureAwait(false); switch (_systemRole) { case SystemRole.Server: await migration.RunOrderedMigration(MigrationStep.ServerMigrate, _dbProvider).ConfigureAwait(false); break; case SystemRole.Client: await migration.RunOrderedMigration(MigrationStep.ClientMigrate, _dbProvider).ConfigureAwait(false); break; } // Update the database version to show the migration has been run databaseVersion.IsMigrationComplete = true; await _dbProvider.Query <DatabaseVersionModel>() .Where(dbv => dbv.VersionNumber == migration.MigrationVersion) .Update(databaseVersion) .ConfigureAwait(false); } }
private async Task RunAfterMigrationAsync(AppCoreMigration migration, DatabaseVersionModel databaseVersion) { // Check Actual DatabaseVersion against the migration version // Don't run unless the MigrationVersion is 1 more than DatabaseVersion if (databaseVersion.IsAfterMigrationComplete == false) { await migration.RunOrderedMigrationAsync(MigrationStep.AfterMigrate, _dbProvider).ConfigureAwait(false); if (_systemRole == SystemRole.Server) { await migration.RunOrderedMigrationAsync(MigrationStep.ServerAfterMigrate, _dbProvider).ConfigureAwait(false); } if (_systemRole == SystemRole.Client) { await migration.RunOrderedMigrationAsync(MigrationStep.ClientAfterMigrate, _dbProvider).ConfigureAwait(false); } // UpdateAsync the database version to show the after migration has been run databaseVersion.IsAfterMigrationComplete = true; await _dbProvider.Query <DatabaseVersionModel>() .Where(dbv => dbv.VersionNumber == migration.MigrationVersion) .UpdateAsync(databaseVersion) .ConfigureAwait(false); } }
private DatabaseVersionModel GetMigrationInformation(IMigration migration) { var databaseVersion = _dbProvider.Query <DatabaseVersionModel>() .Where(dbv => dbv.VersionNumber == migration.MigrationVersion) .OrderBy(v => v.VersionNumber, OrderDirection.Descending) .Select().FirstOrDefault(); if (databaseVersion == null) { databaseVersion = new DatabaseVersionModel { VersionNumber = migration.MigrationVersion, MigrationDate = DateTime.UtcNow }; _dbProvider.Create(databaseVersion); } return(databaseVersion); }
private async Task <DatabaseVersionModel> GetMigrationInformationAsync(IDbMigration migration) { var databaseVersions = await _dbProvider.Query <DatabaseVersionModel>() .Where(dbv => dbv.VersionNumber == migration.MigrationVersion) .OrderBy(v => v.VersionNumber, OrderDirection.Descending) .Select() .ConfigureAwait(false); var databaseVersion = databaseVersions.FirstOrDefault(); if (databaseVersion == null) { databaseVersion = new DatabaseVersionModel { VersionNumber = migration.MigrationVersion, MigrationDate = DateTime.UtcNow }; await _dbProvider.Create(databaseVersion).ConfigureAwait(false); } return(databaseVersion); }
private void RunBeforeMigration(IMigration migration, DatabaseVersionModel databaseVersion) { // Check Actual DatabaseVersion against the migration version // Don't run unless this Migrations BeforeMigration has not been run if (databaseVersion.IsBeforeMigrationComplete == false) { migration.DbProvider = _dbProvider; // Before Migrate migration.BeforeMigrate(); if (_systemRole == SystemRole.Server) { migration.ServerBeforeMigrate(); } if (_systemRole == SystemRole.Client) { migration.ClientBeforeMigrate(); } // Update the database version to show the before migration has been run databaseVersion.IsBeforeMigrationComplete = true; _dbProvider.Query <DatabaseVersionModel>().Where(dbv => dbv.VersionNumber == migration.MigrationVersion).Update(databaseVersion); } }