コード例 #1
0
 internal static void CompleteMigration(
     Action <RepositoryMigration> upsertMigration,
     RepositoryMigration migrationToComplete)
 {
     migrationToComplete.CompleteMigration();
     upsertMigration(migrationToComplete);
 }
コード例 #2
0
        private static void ApplyMigration(
            IRepositoryToMigrate repositoryToMigrate,
            IRepository repository,
            RepositoryMigration startedMigration)
        {
            try
            {
                MigrationHelpers.StartMigration(
                    repository.AddMigration,
                    startedMigration);

                startedMigration.Migration.Update(repository, repositoryToMigrate);

                MigrationHelpers.CompleteMigration(
                    repository.UpsertMigration,
                    startedMigration);
            }
            catch (Exception exception)
            {
                OnUpgradeException(
                    repositoryToMigrate,
                    repository,
                    startedMigration,
                    exception);
            }
        }
コード例 #3
0
 private static void OnUpgradeException(
     IRepositoryToMigrate repositoryToMigrate,
     IRepository repository,
     RepositoryMigration repositoryMigration,
     Exception exception)
 {
     try
     {
         repositoryMigration.Migration.Rollback(repository, repositoryToMigrate);
         MigrationHelpers.FailMigration(
             repository.DeleteMigration,
             repositoryMigration);
         throw new MigrationException(
                   exception,
                   repositoryMigration.Version);
     }
     catch (Exception rollbackEx)
     {
         OnRollbackException(
             repositoryMigration.Migration,
             rollbackEx);
     }
 }
コード例 #4
0
 internal static void FailMigration(
     Action <RepositoryMigration> deleteMigration,
     RepositoryMigration migrationToComplete)
 {
     deleteMigration(migrationToComplete);
 }
コード例 #5
0
 internal static void StartMigration(
     Action <RepositoryMigration> addMigration,
     RepositoryMigration migrationToStart)
 {
     addMigration(migrationToStart);
 }