tabushi/fluentmigrator — comment on commit dbb3be47a0e8019e72f05a809c4474d6ce6df3ca
File: src/FluentMigrator.Runner/MigrationRunner.cs line 327
By tommarien:

While i was looking at the code, i would avoid this as this is duplicating logic of the MigrationLoader

I was thinking more in the lines of an overload

in pseudo
public void Up ( IMigration )
{
Up(migration,null)
}

public void Up(IMigration migration, long? migrationVersion)
{
if (migration == null) throw new ArgumentNullException("migration");

var migrationName = GetMigrationName(migration);

_announcer.Heading(string.Format("{0}{1}: migrating", migrationVersion.HasValue ? string.Format("{0} ",migrationVersion) :string.Empty, migrationName));

CaughtExceptions = new List();

var context = new MigrationContext(Conventions, Processor, MigrationAssembly);
migration.GetUpExpressions(context);

_stopWatch.Start();
ExecuteExpressions(context.Expressions);
_stopWatch.Stop();

_announcer.Say(string.Format("{0}{1}: migrated", migrationVersion.HasValue ? string.Format("{0} ", migrationVersion) : string.Empty, migrationName));
_announcer.ElapsedTime(_stopWatch.ElapsedTime());
}

this way the applymigrationup and down (which have the version number btw) could just use the overloaded one

It seems a lot cleaner