2020-03-05 15:21:27 +00:00
|
|
|
using System;
|
|
|
|
|
|
|
|
namespace Jellyfin.Server.Migrations
|
|
|
|
{
|
2020-03-05 17:09:33 +00:00
|
|
|
/// <summary>
|
2020-03-06 20:51:50 +00:00
|
|
|
/// Interface that describes a migration routine.
|
2020-03-05 17:09:33 +00:00
|
|
|
/// </summary>
|
2020-03-06 20:51:50 +00:00
|
|
|
internal interface IMigrationRoutine
|
2020-03-05 17:09:33 +00:00
|
|
|
{
|
2020-03-05 15:21:27 +00:00
|
|
|
/// <summary>
|
2020-03-08 15:05:31 +00: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 15:21:27 +00:00
|
|
|
/// </summary>
|
2020-03-06 20:51:50 +00:00
|
|
|
public string Name { get; }
|
2020-03-05 15:21:27 +00:00
|
|
|
|
2020-07-20 13:45:24 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Gets a value indicating whether to perform migration on a new install.
|
|
|
|
/// </summary>
|
|
|
|
public bool PerformOnNewInstall { get; }
|
|
|
|
|
2020-03-05 17:09:33 +00:00
|
|
|
/// <summary>
|
2020-03-05 17:52:00 +00:00
|
|
|
/// Execute the migration routine.
|
2020-03-05 17:09:33 +00:00
|
|
|
/// </summary>
|
2020-04-17 03:40:32 +00:00
|
|
|
public void Perform();
|
2020-03-05 17:09:33 +00:00
|
|
|
}
|
2020-03-05 15:21:27 +00:00
|
|
|
}
|