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