如何在代码优先环境中禁用自动迁移并自行创建新列/表?

问题描述 投票:0回答:1

首先需要明确的是,我从未参与过首先使用代码的项目,并且我从其他开发人员那里继承了这个项目。

现在我正在尝试重现错误并在此处详细发布,我遇到的第一个错误是当我运行 PMC 命令来添加迁移时,这给了我以下错误:

无法生成显式迁移,因为以下显式迁移正在等待处理: [202009221147053_wms, 202009221432482_wms_update1、202009221554359_nsuadquirente、 202009292147548_TipoRastro,202010061641251_NfeChanges, 202010221446470_转让]

在尝试生成新的显式迁移之前应用待处理的显式迁移。

我无法理解的是,如果假设有待处理的迁移,程序如何正常运行而不会出现错误。可能这些更新是按照我问你们如何做的方式完成的。我不想冒这些“待处理”迁移的风险来破坏我的 SQL 数据库,因此我想手动添加新表和列。问题是并不像编写类并创建相应的表/列那么简单,所以我现在有点迷失了。

c# model-view-controller ef-code-first entity-framework-migrations
1个回答
0
投票

在 Visual Studio 的包管理器控制台中运行

update-database
命令应该可以解决此问题。

此外,应用迁移不会“毁掉你的 SQL 数据库”——如果你想恢复数据库状态,只需撤消迁移,你的数据库就会回滚到之前的状态(假设每个迁移的回滚函数都已正确编写;有时实体框架无法自动生成实体框架,这取决于程序员来编写)。

您可以再次使用

update-database
命令恢复迁移,但也可以提供目标迁移参数:

Update-Database --TargetMigration OldMigrationName
© www.soinside.com 2019 - 2024. All rights reserved.