internal DatabaseMigrationEventArgs(DatabaseMigrationStage currentStage, string currentMigration, string message, Exception exception) { Message = message; CurrentMigration = currentMigration; Exception = exception; CurrentStage = currentStage; }
/// <summary> /// Helper method for logging progress. /// </summary> /// <param name="stage">The stage of the migration.</param> /// <param name="message">Message describing the progress.</param> /// <param name="migration">Currently run migration, if in stage Migrating.</param> /// <param name="ex">Exception, if available.</param> protected void Log(DatabaseMigrationStage stage, string message, string migration = null, Exception ex = null) { this.CurrentDatabaseMigrationStage = stage; Changed?.Invoke(this, new DatabaseMigrationEventArgs(this.CurrentDatabaseMigrationStage, migration, message, ex)); System.Diagnostics.Trace.WriteLine($"Database Migration {DateTime.Now} - Stage [{this.CurrentDatabaseMigrationStage}] - Migration [{migration}] - {message}. {ex}"); }