Source/NuGetGallery.Operations/Tasks/ListMigrationsTask.cs (29 lines of code) (raw):
using System;
using System.Linq;
using System.Data.Entity.Migrations;
using System.IO;
using System.Reflection;
using NuGetGallery.Operations.Common;
using System.Data.Entity.Migrations.Infrastructure;
namespace NuGetGallery.Operations.Tasks
{
[Command("listmigrations", "Lists migrations in the specified assembly/database combination", AltName = "lm", MaxArgs = 0)]
public class ListMigrationsTask : MigrationsTask
{
protected override void ExecuteCommandCore(MigratorBase migrator)
{
Log.Info("Migration Status for {0} on {1}",
ConnectionString.InitialCatalog,
ConnectionString.DataSource);
foreach (var migration in migrator.GetDatabaseMigrations().Reverse())
{
Log.Info("A {0}", migration);
}
foreach (var migration in migrator.GetPendingMigrations())
{
Log.Info(" {0}", migration);
}
Log.Info("A = Applied");
}
}
}