using Microsoft.Extensions.Logging;
using Umbraco.Cms.Core.Migrations;
using Umbraco.Cms.Infrastructure.Persistence;
namespace Umbraco.Cms.Infrastructure.Migrations
{
///
/// Provides context to migrations.
///
public interface IMigrationContext
{
///
/// Gets the logger.
///
ILogger Logger { get; }
///
/// Gets the database instance.
///
IUmbracoDatabase Database { get; }
///
/// Gets the Sql context.
///
ISqlContext SqlContext { get; }
///
/// Gets or sets the expression index.
///
int Index { get; set; }
///
/// Gets or sets a value indicating whether an expression is being built.
///
bool BuildingExpression { get; set; }
///
/// Adds a post-migration.
///
void AddPostMigration()
where TMigration : IMigration;
}
}