2020-03-05 08:21:27 -07:00
|
|
|
using System;
|
|
|
|
|
|
|
|
namespace Jellyfin.Server.Migrations
|
|
|
|
{
|
2020-03-05 10:09:33 -07:00
|
|
|
/// <summary>
|
2020-03-06 13:51:50 -07:00
|
|
|
/// Interface that describes a migration routine.
|
2020-03-05 10:09:33 -07:00
|
|
|
/// </summary>
|
2020-03-06 13:51:50 -07:00
|
|
|
internal interface IMigrationRoutine
|
2020-03-05 10:09:33 -07:00
|
|
|
{
|
2020-03-05 08:21:27 -07:00
|
|
|
/// <summary>
|
2020-03-08 08:05:31 -07:00
|
|
|
/// Gets the unique id for this migration. This should never be modified after the migration has been created.
|
|
|
|
/// </summary>
|
|
|
|
public Guid Id { get; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets the display name of the migration.
|
2020-03-05 08:21:27 -07:00
|
|
|
/// </summary>
|
2020-03-06 13:51:50 -07:00
|
|
|
public string Name { get; }
|
2020-03-05 08:21:27 -07:00
|
|
|
|
2020-07-20 06:45:24 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Gets a value indicating whether to perform migration on a new install.
|
|
|
|
/// </summary>
|
|
|
|
public bool PerformOnNewInstall { get; }
|
|
|
|
|
2020-03-05 10:09:33 -07:00
|
|
|
/// <summary>
|
2020-03-05 10:52:00 -07:00
|
|
|
/// Execute the migration routine.
|
2020-03-05 10:09:33 -07:00
|
|
|
/// </summary>
|
2020-04-16 20:40:32 -07:00
|
|
|
public void Perform();
|
2020-03-05 10:09:33 -07:00
|
|
|
}
|
2020-03-05 08:21:27 -07:00
|
|
|
}
|