ALTER TABLE DROP COLUMN 失败,因为 'xxx' 列不存在于 table 'yyy' 中
ALTER TABLE DROP COLUMN failed because column 'xxx' does not exist in table 'yyy'
我错了。我删除了数据库中 table __MigrationHistory
中的一些行。
现在,当我 运行 我的项目时,我强制出现此错误:
ALTER TABLE DROP COLUMN failed because column 'xxx' does not exist in table 'yyy'.
我该如何解决这个问题?
为什么不更改 table 以重新创建丢失的列?然后尝试再次删除 table :)
添加新迁移以重新同步:
add-migration MissingXXX -IgnoreChanges // tells EF to just take a snapshot
update-database
现在您已恢复同步,可以继续进行未来的模型更改。
好的,我的问题终于解决了
我在我的数据库中手动将字段 'xxx' 添加到 table 'yyy'。
这里有更多详细信息 因为我遇到了同样的问题并且这个问题得到了完整的帮助:
无论出于何种原因,如果您收到此错误:
ALTER TABLE DROP COLUMN 失败,因为 'xxx' 列在 table 'yyy'. 中不存在
做这个:
手动更新数据库中的table。
- 转到服务器资源管理器 (2)
- 表格
- 双击 'yyy'
- 添加:
'xxx'
的新专栏
- Visual S左上角"Any CPU"下有
是一个选项 "UPDATE"。这将更新 table.
- 现在转到模型 'yyy.cs' 下的那个 table 模型
添加:
public 字符串 'xxx' {get;设置;}
- 现在在 PM 中(工具 --> Neu 获取包管理器 --> PM)
- 更新迁移或回滚由您决定。
我在尝试向 table 添加新字段时使用 EF Core 3.1.1 得到了这个。
我没有删除 MigrationHistory table 中的条目,但我恢复了上次迁移,删除了生成的迁移文件并使用 'add migration' 再次生成它们。然后我注意到迁移的新 Up 和 Down 方法使用 AlterColumn 而不是 AddColumn 和 RemoveColumn。我从之前的 Up 和 Down 方法中得到了代码并解决了它。
我错了。我删除了数据库中 table __MigrationHistory
中的一些行。
现在,当我 运行 我的项目时,我强制出现此错误:
ALTER TABLE DROP COLUMN failed because column 'xxx' does not exist in table 'yyy'.
我该如何解决这个问题?
为什么不更改 table 以重新创建丢失的列?然后尝试再次删除 table :)
添加新迁移以重新同步:
add-migration MissingXXX -IgnoreChanges // tells EF to just take a snapshot
update-database
现在您已恢复同步,可以继续进行未来的模型更改。
好的,我的问题终于解决了
我在我的数据库中手动将字段 'xxx' 添加到 table 'yyy'。
这里有更多详细信息 因为我遇到了同样的问题并且这个问题得到了完整的帮助: 无论出于何种原因,如果您收到此错误: ALTER TABLE DROP COLUMN 失败,因为 'xxx' 列在 table 'yyy'. 中不存在 做这个: 手动更新数据库中的table。
- 转到服务器资源管理器 (2)
- 表格
- 双击 'yyy'
- 添加: 'xxx' 的新专栏
- Visual S左上角"Any CPU"下有 是一个选项 "UPDATE"。这将更新 table.
- 现在转到模型 'yyy.cs' 下的那个 table 模型 添加: public 字符串 'xxx' {get;设置;}
- 现在在 PM 中(工具 --> Neu 获取包管理器 --> PM)
- 更新迁移或回滚由您决定。
我在尝试向 table 添加新字段时使用 EF Core 3.1.1 得到了这个。
我没有删除 MigrationHistory table 中的条目,但我恢复了上次迁移,删除了生成的迁移文件并使用 'add migration' 再次生成它们。然后我注意到迁移的新 Up 和 Down 方法使用 AlterColumn 而不是 AddColumn 和 RemoveColumn。我从之前的 Up 和 Down 方法中得到了代码并解决了它。