2013-10-11 84 views
0

我首先使用代码来生成数据库。 我想要通过使用添加迁移生成的迁移来创建数据库InitialCreate迁移来自哪里?

数据库确实使用InitialCreate迁移中的代码创建。

然而,当我尝试使用添加迁移一个

我得到一个错误

无法因为以下 明确的迁移正等待产生一个明确的迁移创建后续迁移:[201310112018474_InitialCreate] 。 在尝试生成 新显式迁移之前应用待处理的显式迁移。

我试着运行Update-Database -Targetmigration:0,它列出了过去创建但不再存在的迁移。

PM>更新的数据库的-Targetmigration:0指定“-Verbose”标志 查看被施加到目标数据库的SQL语句。 还原迁移:[201310110726212_two, 201310110719552_InitialSchema,201310090149561_k1]。还原 自动迁移:201310110726212_two。还原自动 迁移:201310110719552_InitialSchema。还原自动 迁移:201310090149561_k1。

“迁移历史记录”表只包含初始创建的一条记录。 我的问题是,PM如何知道这些不再存在的旧迁移?

注意 - 我从迁移文件夹

我使用EF5删除的迁移,C#的WinForms

回答

0

。在你的解决方案,PM使用迁移的文件夹。

如果您从您的解决方案中删除了migrations文件夹并运行应用程序,则将从代码正确创建数据库。

,如果你有一个现有的数据库需要迁移,您只需要迁移的文件由于您在代码所做的(因此数据库需要反映这一变化)

+0

我编辑的问题,使之变化更清晰。迁移已从迁移文件夹中删除,并且不在驱动器上。还有更多的数据库已被删除,所以历史表不存在。一些 - PM似乎是在某处缓存历史。很混乱。 –

+0

您是否也删除了最初的创建?您应该这样做,或者最好删除迁移文件夹。 – RHAD

+0

我以为是。不幸的是我不能再现这个问题 –