我有一个实体框架6 CF项目,已经有一些迁移。
该模型现在已稳定,无需保留已存在的迁移历史记录。
有没有办法重置模型并将所有迁移命令合并到初始迁移中?
例如,第一次迁移会添加一列,而第二次迁移会添加唯一的非聚集索引。我现在希望直接在OnModelCreating
中看到所有这些更改,而不是在单独的迁移中。
答案 0 :(得分:6)
迁移同时包含Up
和Down
。您始终可以通过撕下迁移然后添加新迁移来重新支持您的应用程序。 Down
进程不会更改您的模型,只会更改数据库的更改。使用Update-Database -Target:migrationTargetName
或Update-Database -TargetMigration:migrationNumber
。
如果您希望迁移从无数据库开始并以当前模型结束,则可以使用Update-Database -TargetMigration:0
删除所有迁移。拆除数据库然后运行Update-Database
作为测试来验证数据库更改是否全部同步是一个好主意。
请记住,如果您将迁移降至0
然后运行Add-Migration
,您将需要仔细查看生成的脚手架,因为它可能与增量变化。