Entity framework 4 如何将EF 4.3显式迁移用于多个数据库(开发、暂存、生产)

Entity framework 4 如何将EF 4.3显式迁移用于多个数据库(开发、暂存、生产),entity-framework-4,ef-code-first,database-migration,entity-framework-migrations,Entity Framework 4,Ef Code First,Database Migration,Entity Framework Migrations,Im使用EF 4.3进行显式迁移。在本地开发数据库上定义新迁移并调用更新数据库时,一切正常,只有未应用的迁移应用于数据库 但是,当我尝试迁移另一个数据库时,在使用迁移之前,它的状态与我的dev db相同 更新数据库-ConnectionStringName=MyProdConnectionStringName db状态和现有的_MigrationHistory表似乎被忽略,ef将所有迁移应用到我的prod db,这是失败的原因,因为那里已经有一些表 也许应该知道,我对表使用了一个自定义模式[Ta

Im使用EF 4.3进行显式迁移。在本地开发数据库上定义新迁移并调用更新数据库时,一切正常,只有未应用的迁移应用于数据库

但是,当我尝试迁移另一个数据库时,在使用迁移之前,它的状态与我的dev db相同

更新数据库-ConnectionStringName=MyProdConnectionStringName

db状态和现有的_MigrationHistory表似乎被忽略,ef将所有迁移应用到我的prod db,这是失败的原因,因为那里已经有一些表


也许应该知道,我对表使用了一个自定义模式[TableTabName,schema=stepid]。_uumigrationhistory表在我的开发机器上有数据库dbo的默认模式,在我的prod环境中有项目。

好的,u MigrationHistory表似乎必须在模式dbo中。EF migrations将在创建数据库时使用数据库的默认模式(在我的例子中是其被调用的项目),然后在调用Update database时,它将不查询该表,而是假设从未对数据库应用过任何迁移

当我手动将模式更改为dbo时,它的工作方式与应该的一样