dbmigrator не обнаруживает миграции - PullRequest
1 голос
/ 23 марта 2012

У меня есть что-то вроде следующего:

namespace BilBasen.Data.Migrations
{

    public class TestMigration : DbMigration
    {
        public override void Up()
        {

            CreateTable("TestMigrationTable", t => new { Id = t.Int(identity: true, nullable: false), Name = t.String(nullable: true) });
        }

        public override void Down()
        {
            DropTable("TestMigrationTable");
        }
    }

    public class MigrateExecuter
    {
        public void UpdateToLatest()
        {
            var conf = new DbMigrationsConfiguration<LocalInstans2Context>();
            conf.AutomaticMigrationsEnabled = false;
            conf.MigrationsNamespace = "BilBasen.Data.Migrations";
            conf.MigrationsAssembly = typeof(LocalInstans2Context).Assembly;
            var migrator = new DbMigrator(conf);


            migrator.Update();

        }
    }

    public class LocalInstans2Context : DbContext
    {

    }
}

Мигратор не обнаруживает миграции.

Есть предложения?

1 Ответ

1 голос
/ 22 сентября 2012

Anders,

Вам не хватает IMigrationMetadata. Попробуйте:

public class TestMigration : DbMigration, IMigrationMetadata
{
    string IMigrationMetadata.Id
    {
        get { return "TestMigration "; }
    }

    string IMigrationMetadata.Source
    {
        get { return null; }
    }

    string IMigrationMetadata.Target
    {
        get { return "1"; }
    }


    public override void Up()
    {

        CreateTable("TestMigrationTable", t => new { Id = t.Int(identity: true, nullable: false), Name = t.String(nullable: true) });
    }

    public override void Down()
    {
        DropTable("TestMigrationTable");
    }
}
...