今天在弄项目的时候碰到一个问题,我在领域实体加了字段,但是运行Add-Migration生成的文件里up和down内容都是空的。然后我不信邪运行了以下Update-Database,结果数据库并没有添加到我刚增加的字段。
这时候我关掉vs,重启,又尝试去增加了个字段,运行Add-Migration后,生成的文件就只有我现在加个这一个字段更新。
问题来了,上次遗漏的就补不回去了吗,我不想重删整个数据库取重建。
我不知道设计者是怎么设计这个Add-Migration的。我理解这个东西应该很好设计才对。
每次执行Add-Migration的时候去比对数据库的scheme和代码的entity,把差异的列出来就好。但是事实好像不是这样的。数据库还有个MigrationHistory记录的莫名的什么东西。
现在先要解决的问题的是这个遗漏的字段怎么修补上去?
数据库中的MigrationHistory表就是用来记录每次进行数据迁移的记录。你要检查下你的这个表中数据是否手动删除了?在检查下vs中数据迁移的时候自动生成的文件是否存在。比如:“20170831XXX.cs”