EFCore 迁移是否应该致力于版本控制?

5 c# git entity-framework-core .net-core asp.net-core

运行dotnet ef migrations add XYZ将导致在项目中创建一个 Migrations 目录。这个目录是否应该提交给版本控制(Git 等)?

小智 5

是的,当然,您应该将 EFCore 迁移提交到版本控制。

当引入数据模型更改时,EF Core 会将当前模型与旧模型的快照进行比较以确定差异,并生成迁移源文件;可以像任何其他源文件一样在项目的源代码管理中跟踪这些文件。

假设您没有将迁移提交给版本控制。一段时间后,您或您的团队成员对数据模型进行更改,EFCore 将无法获取最后一个快照,因此更新数据库可能会导致一些可能已经存在的冲突/更改..!