我有一个 Entity Framework 6 CF 项目,其中已经进行了一些迁移。
模型现已稳定,无需保留已经存在的迁移历史。
有没有办法重置模型并将所有迁移命令合并到初始迁移中?
例如,第一次迁移添加一个列,而第二次迁移添加一个唯一的非聚集索引。我现在想直接在 OnModelCreating
中而不是在单独的迁移中查看所有这些更改。
最佳答案
迁移有 Up
和 Down
。您始终可以通过拆除迁移然后添加新迁移来重新搭建您的应用程序。 Down
过程不会更改您的模型,只会更改数据库。使用 Update-Database -Target:migrationTargetName
或 Update-Database -TargetMigration:migrationNumber
。
如果您想要从没有数据库开始并以当前模型结束的迁移,您可以使用 Update-Database -TargetMigration:0
拆除所有迁移。拆除数据库然后运行 Update-Database
作为测试以验证数据库更改是否全部同步是个好主意。
请记住,如果您将迁移分解为 0
然后运行 Add-Migration
,您将需要仔细查看生成的脚手架,因为它可能与增量更改截然不同。
关于c# - 合并 Entity Framework 中的迁移条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28911015/