void.cat/VoidCat/Services/Migrations/IMigration.cs
2022-07-06 23:03:53 +01:00

40 lines
894 B
C#

namespace VoidCat.Services.Migrations;
/// <summary>
/// Startup migrations
/// </summary>
public interface IMigration
{
/// <summary>
/// Order to run migrations
/// </summary>
int Order { get; }
/// <summary>
/// Run migration
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
ValueTask<MigrationResult> Migrate(string[] args);
/// <summary>
/// Results of running migration
/// </summary>
public enum MigrationResult
{
/// <summary>
/// Migration was not run
/// </summary>
Skipped,
/// <summary>
/// Migration completed successfully, continue to startup
/// </summary>
Completed,
/// <summary>
/// Migration completed Successfully, exit application
/// </summary>
ExitCompleted
}
}