I created a migration with a tag like so:
using System;
using System.Collections.Generic;
using System.Linq;
using FluentMigrator;
[Tags("Pages")]
[Migration(201304161452)]
public class PagesMigration : Migration {
public override void Up() { /*...*/ }
public override void Down() { /*...*/ }
}
When I run my migrations, both through the MSBuild runner and the command line runner, the runner always tries to run this migration, whether I provide no tags or a different tag to the runner. I'm very confused because this seems like a simple, straightforward feature.
I also tried running a migration up from the command line with the --version switch like so
migrate.exe -a migrations.dll -db SqlServer2008 -c "server=localhost;database=mydb;integrated security=true;" -- version 201304161452
And again the runner tries to run every migration, not just the ones up to that version number. I've tried moving the position of the version parameter around, with equals and without, different versions - it always runs all the outstanding migrations, ones with tags and ones with higher versions. The version parameter works fine from the MSBuild runner, but not from the command line runner. The tags don't seem to work in either.
I'm on the 1.0.6.0 NuGet package,