我正在阅读 EF Migrations 并开始使用它。
我使用 Git 进行源代码控制,每次开始开发新功能时,我都会创建一个分支。这样做的原因是,如果我需要快速跳转到不同的功能,或者进行需要推出的重要错误修复,我可以更改分支并继续工作。
目前我有我的应用程序设置,因此如果我不在生产环境中(web.config appsetting),它会破坏数据库并在数据模型发生更改时重新设置它(代码优先)。我认为迁移会很好,因为我不必在最轻微的模型更改上完全删除我的数据。
不幸的是,我看到一些迹象表明它不像我希望的那样对版本控制友好。例如,如果我向我的数据模型添加一个新列,更新数据库,然后决定恢复我的更改,EF 仍然知道模型更改,因为它将它们存储在数据库本身中。
似乎没有干净的方法告诉它在分支第一次发生时降级数据库版本,然后迁移到我决定在没有大量记忆和手动跟踪的情况下工作的分支上的数据库位置。
有没有人有关于如何在具有版本控制的非平凡开发场景中利用迁移的策略?