我正在尝试在 AppHarbor 上部署实体框架,并且我希望它能够使用自动迁移进行迁移。
我遇到的麻烦是在 AppHarbor 数据库中,系统表中有 dbo._MigrationHistory 表。在 AppHarbor 中,我无权从头开始创建数据库(所以我无法让 EF 创建它),也无法使用备份恢复它。我认为,我唯一能做的就是使用 SQL Server 的导入/导出向导,它不会复制系统表。所以排除了在本地创建数据库并将其导出到 AppHarbor 服务器。
这个问题以及我过去使用 EF 的许多其他问题的解决方案是让 EF 执行与创建数据库相同的例程,但只删除现有数据库上的所有内容并从那里开始。NHibernate 就是这样做的。我可以让EF做吗?
不幸的是,AppHarbor 建议的 DontDropDbJustCreateTablesIfModelChanged IDatabaseInitializer 并没有做到这一点。