我在一个使用 EF5 的 4 名开发人员团队中工作,每个人都在自己的本地数据库上工作。到目前为止,我们一直在使用自动迁移,但我们已经接近需要发布到生产环境的时间点,因此我们禁用了自动迁移并开始添加基于代码的显式迁移。
这就是问题所在:我在Update-Database
开发人员创建新的显式迁移后运行了该命令,但出现以下错误:
Applying code-based migrations: [201209080142319_CreatedDate.LastModifiedDate.Additions].
Applying code-based migration: 201209080142319_CreatedDate.LastModifiedDate.Additions.
Applying automatic migration: 201209080142319_CreatedDate.LastModifiedDate.Additions_AutomaticMigration.
Automatic migration was not applied because it would result in data loss.
即使我禁用了自动迁移,为什么还会出现此错误?我可以通过删除显式迁移然后重新搭建它(运行Add-Migration
)来修复这个错误。然后Update-Database
运行良好,并且没有提及任何关于“自动迁移...”的内容。此外,我在运行 Add-Migration 时创建的迁移中的代码与我的队友创建的代码相同。我不明白为什么它甚至会尝试进行自动迁移,因为AutomaticMigrationsEnabled = false;
.
我在这里想念什么?