Lidarr/Migrator.net/Migrator.Framework/IMigration.cs

39 lines
1.1 KiB
C#

namespace Migrator.Framework
{
public interface IMigration
{
string Name { get; }
/// <summary>
/// Represents the database.
/// <see cref="ITransformationProvider"></see>.
/// </summary>
/// <seealso cref="ITransformationProvider">Migration.Framework.ITransformationProvider</seealso>
ITransformationProvider Database { get; set; }
/// <summary>
/// Defines tranformations to port the database to the current version.
/// </summary>
void Up();
/// <summary>
/// This is run after the Up transaction has been committed
/// </summary>
void AfterUp();
/// <summary>
/// Defines transformations to revert things done in <c>Up</c>.
/// </summary>
void Down();
/// <summary>
/// This is run after the Down transaction has been committed
/// </summary>
void AfterDown();
/// <summary>
/// This gets called once on the first migration object.
/// </summary>
void InitializeOnce(string[] args);
}
}