首先需要明确的是,我从未参与过首先使用代码的项目,并且我从其他开发人员那里继承了这个项目。
现在我正在尝试重现错误并在此处详细发布,我遇到的第一个错误是当我运行 PMC 命令来添加迁移时,这给了我以下错误:
无法生成显式迁移,因为以下显式迁移正在等待处理: [202009221147053_wms, 202009221432482_wms_update1、202009221554359_nsuadquirente、 202009292147548_TipoRastro,202010061641251_NfeChanges, 202010221446470_转让]
在尝试生成新的显式迁移之前应用待处理的显式迁移。
我无法理解的是,如果假设有待处理的迁移,程序如何正常运行而不会出现错误。可能这些更新是按照我问你们如何做的方式完成的。我不想冒这些“待处理”迁移的风险来破坏我的 SQL 数据库,因此我想手动添加新表和列。问题是并不像编写类并创建相应的表/列那么简单,所以我现在有点迷失了。
在 Visual Studio 的包管理器控制台中运行
update-database
命令应该可以解决此问题。
此外,应用迁移不会“毁掉你的 SQL 数据库”——如果你想恢复数据库状态,只需撤消迁移,你的数据库就会回滚到之前的状态(假设每个迁移的回滚函数都已正确编写;有时实体框架无法自动生成实体框架,这取决于程序员来编写)。
您可以再次使用
update-database
命令恢复迁移,但也可以提供目标迁移参数:
Update-Database --TargetMigration OldMigrationName