void.cat/VoidCat/Services/Migrations/IMigration.cs

40 lines
894 B
C#
Raw Normal View History

2022-02-17 15:52:49 +00:00
namespace VoidCat.Services.Migrations;
2022-07-06 22:03:53 +00:00
/// <summary>
/// Startup migrations
/// </summary>
2022-02-17 15:52:49 +00:00
public interface IMigration
{
2022-07-06 22:03:53 +00:00
/// <summary>
/// Order to run migrations
/// </summary>
int Order { get; }
/// <summary>
/// Run migration
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
2022-06-08 16:17:53 +00:00
ValueTask<MigrationResult> Migrate(string[] args);
2022-07-06 22:03:53 +00:00
/// <summary>
/// Results of running migration
/// </summary>
2022-06-08 16:17:53 +00:00
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
}
2022-02-17 15:52:49 +00:00
}