我过去四年一直在一个项目中工作。目前,我们已经进行了2510次迁移,并且随着系统变得更加复杂并添加了新功能,预计还会继续增加。
进行这种数量的迁移是一种好/不好的做法吗?
我们正在讨论删除所有迁移并创建一个代表整个数据库的新迁移的选项,但是我们不知道这是一个好习惯。有人有做这种东西的经验吗?
如果您可以从头开始重建,那么迁移过多就没有什么不好。在可以正常工作的生产环境中,迁移实际上仅是启动和运行开发机器或回滚不良发行版的一种方法。
但是,我个人喜欢不时地重置迁移。我们有同样的问题,数千次迁移,由于提交时的人为错误,以及名称空间更改(在此处插入原因),它在重建时可能不会很长时间。
实际上,对于生产而言,它永远都不会被重建,它仅适用于开发测试机。
但是存在一些非常不利的方面的风险,如果您在UP
中具有自定义代码和脚本来执行各种操作(您可能会这样做),那么您将必须小心并重新添加它们,并且< [备份所有内容 !!!!!!!!
免责声明,除非他们确切知道自己在做什么,否则我不会提倡任何人这样做。进行大量迁移是可以的,并且在任何正常情况下都不会造成问题,但是,破坏生产数据库可能会花费很多。
进一步阅读
如果您想解决这个问题C-崩溃中的迁移
C_R1
(结果数据库!=当前数据库,因为某些自定义代码“丢失了翻译”)。A。使用外部工具创建代表数据库的初始脚本,并使用生成的sql
作为第一次新迁移的基础(与仅运行Add-Migration和使用EF附带的代码相反)。
B。使初始迁移包含所有迁移的代码(而不是仅运行Add-Migration并使用EF附带的代码)。