合并 Entity Framework 中的迁移条目
Merging migration entries in Entity Framework
我有一个 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
,您将需要仔细查看生成的脚手架,因为它会可能与增量更改截然不同。
我有一个 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
,您将需要仔细查看生成的脚手架,因为它会可能与增量更改截然不同。