Inheritance: System.EventArgs
Beispiel #1
0
        private void RunMigrations(MigrationPlan migrationPlan)
        {
            if (NoWorkToDo(migrationPlan))
            {
                Log.Info("No migrations to perform");
                return;
            }
            Log.Info("Starting migrations");
            Log.Info("Current version is " + migrationPlan.CurrentVersion);
            Log.Info("Target version is " + migrationPlan.TargetVersion);
            Log.Info(String.Format("Migrate action is: {0} from {1} to {2}",
                                   (migrationPlan.IsUp ? "UP" : "DOWN"),
                                   migrationPlan.CurrentVersion,
                                   migrationPlan.TargetVersion));

            foreach (var step in migrationPlan.OrderedSteps)
            {
                var migrationInfo = step.MigrationInfo;
                try {
                    RunMigration(step);
                }
                catch (NotSupportedByDialect nse) {
                    HandleNotSupportedByDialectException(migrationInfo, nse);
                }
                catch (Exception ex) {
                    var errorMsg = String.Format("Error running migration {0}: {1}", migrationInfo.Name, ex);
                    Log.Error(errorMsg);
                    _dataClient.RollBack();
                    var args = new MigrationErrorArgs(migrationInfo.Name, ex);
                    FireOnMigrationError(args);
                    if (!args.Handled)
                    {
                        throw new MigrationException(errorMsg, ex);
                    }
                }
            }
            Log.Info("Done. Current version: " + migrationPlan.TargetVersion);
        }
        private void RunMigrations(MigrationPlan migrationPlan)
        {
            if (NoWorkToDo(migrationPlan)) {
                Log.Info("No migrations to perform");
                return;
            }
            Log.Info("Starting migrations");
            Log.Info("Current version is " + migrationPlan.CurrentVersion);
            Log.Info("Target version is " + migrationPlan.TargetVersion);
            Log.Info(String.Format("Migrate action is: {0} from {1} to {2}",
                (migrationPlan.IsUp ? "UP" : "DOWN"),
                migrationPlan.CurrentVersion,
                migrationPlan.TargetVersion));

            foreach (var step in migrationPlan.OrderedSteps) {
                var migrationInfo = step.MigrationInfo;
                try {
                    RunMigration(step);
                }
                catch (NotSupportedByDialect nse) {
                    HandleNotSupportedByDialectException(migrationInfo, nse);
                }
                catch (Exception ex) {
                    var errorMsg = String.Format("Error running migration {0}: {1}", migrationInfo.Name, ex);
                    Log.Error(errorMsg);
                    _dataClient.RollBack();
                    var args = new MigrationErrorArgs(migrationInfo.Name, ex);
                    FireOnMigrationError(args);
                    if (!args.Handled) {
                        throw new MigrationException(errorMsg, ex);
                    }
                }
            }
            Log.Info("Done. Current version: " + migrationPlan.TargetVersion);
        }
 private void FireOnMigrationError(MigrationErrorArgs args)
 {
     OnMigrationError?.Invoke(this, args);
 }
Beispiel #4
0
 private void FireOnMigrationError(MigrationErrorArgs args)
 {
     OnMigrationError?.Invoke(this, args);
 }