EF核心迁移-如何修改以前的迁移?

时间:2019-07-10 19:00:13

标签: entity-framework-core ef-migrations ef-core-2.0 ef-core-2.1 ef-core-2.2

我对在EF Core中编辑迁移文件有疑问。

示例:我已经为每个表分别创建了3个表:AddTable1AddTable2AddTable3

几天后,我决定将statusTable1列的类型更改为int而不是string

在更新AddTable1迁移文件,删除数据库并执行update-database命令之后,该列仍使用string类型进行定义。

我注意到,尽管我编辑了.Designer.cs迁移文件,但所有string文件仍在status列中使用Table1类型。

我复制了AppDbContextModelSnapshot.cs文件的内容,并为所有迁移手动更新了所有.Designer.cs文件(注释:源代码中的方法名称和.Designer.cs文件是不同的。)

那有帮助。我确信这不是使用迁移的推荐方法。

我的问题是:是否有一个命令可以执行我的操作-“重置” .Designer.cs文件?

如果没有,该怎么做? :)

1 个答案:

答案 0 :(得分:1)

考虑Git提交时的迁移。与其他团队成员共享以前的提交(或在我们的情况下,将迁移应用于数据库)后,您就不会重写以前的提交。相反,您需要进行其他更改来创建新的迁移。

如果您尚未应用迁移或未与队友共享,则可以将其删除并重新脚手架:

Remove-Migration
Add-Migration FixedUpMigration

有关基本用法,请参见EF Core Migrations文档。