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