private static async Task RunMigrationTask(IMigrationTask migrationTask) { IConfiguration config = LoadPluginConfiguration(migrationTask); Log.Debug("Migration started for {MigrationName}.", migrationTask.GetType().Name); await migrationTask.Initialize(config); Log.Debug("Initialized {MigrationName} migration.", migrationTask.GetType().Name); await migrationTask.MigrateUp(); Log.Debug("Migration {MigrationName} complete.", migrationTask.GetType().Name); }
private static string GetAssemblyFolder(IMigrationTask migrationTask) { var fileInfo = new FileInfo(migrationTask.GetType().Assembly.Location); return(fileInfo.DirectoryName); }
/// <summary> /// Returns a user-friendly label for the specified task. /// </summary> /// <param name="task">the task to create a label for</param> /// <returns>a user-friendly label for the specified task</returns> protected String GetTaskLabel(IMigrationTask task) { return task.Name + " [" + task.GetType().FullName + "]"; }