我对在EF Core
中编辑迁移文件有疑问。
示例:我已经为每个表分别创建了3个表:AddTable1
,AddTable2
,AddTable3
。
几天后,我决定将status
中Table1
列的类型更改为int
而不是string
。
在更新AddTable1
迁移文件,删除数据库并执行update-database
命令之后,该列仍使用string
类型进行定义。
我注意到,尽管我编辑了.Designer.cs
迁移文件,但所有string
文件仍在status
列中使用Table1
类型。
我复制了AppDbContextModelSnapshot.cs
文件的内容,并为所有迁移手动更新了所有.Designer.cs
文件(注释:源代码中的方法名称和.Designer.cs
文件是不同的。)
那有帮助。我确信这不是使用迁移的推荐方法。
我的问题是:是否有一个命令可以执行我的操作-“重置” .Designer.cs文件?
如果没有,该怎么做? :)
答案 0 :(得分:1)
考虑Git提交时的迁移。与其他团队成员共享以前的提交(或在我们的情况下,将迁移应用于数据库)后,您就不会重写以前的提交。相反,您需要进行其他更改来创建新的迁移。
如果您尚未应用迁移或未与队友共享,则可以将其删除并重新脚手架:
Remove-Migration
Add-Migration FixedUpMigration
有关基本用法,请参见EF Core Migrations文档。