RedGate ReadyRoll是一款出色的数据库版本工具,其工作方式就像魅力一样。但唯一的缺点 - 价格。 我已经研究了要使用的东西,发现了DBUp,Envolve ...这些工具很好但是:
当开发人员使用非共享数据库但他们自己并且分别更改数据库架构时,这些工具不允许在不同分支中进行开发。如何处理Team Lead必须在分支机构之间切换或QA必须在进入主控之前测试功能时的问题 - 对我来说这是一个悬而未决的问题。
使用SSDT - 作为一种情况,但如果需要使用DATA而不仅仅使用模式,它会使实时变得非常困难。如果使用基于迁移的方法,那么可以做的非常简单 - 当尝试使用基于状态的方法时,这变得非常重要。
有人可以建议一些基于迁移的方法进行数据库版本控制的工具,它可以与.NET堆栈一起使用,免费或付费但比RedGate便宜吗?
由于
P.S。
如果仅将Entity Framework用于迁移,该怎么办?没有实体等创建数据库上下文,只需创建具有向上/向下的迁移文件,然后在那里编写脚本或定义sql文件以应用上/下迁移更改。唯一的问题 - 这是快照。它将如何运作。 有人用这种方法吗?
答案 0 :(得分:0)
ReadyRoll还附带Core Edition,如果您还拥有Visual Studio Enterprise许可,则该免费授权。如果你有VS社区或专业人士,我承认这些信息不太有用。
答案 1 :(得分:0)
我们决定使用EF Code First迁移来完成我们需要的工作。如果将其与DbUp进行比较 - EF Code First迁移包含Down脚本,它允许我们将DB回滚到任何目标迁移脚本。 是的,它不是ReadyRoll的替代品,我不得不接受没有任何类似的产品让我感到惊讶。 但它可以满足我们的需求,经过一个多月的使用后我可以说 - 它符合我们的需求。
因为我们仅对迁移脚本使用EF Code First,所以团队协作没有问题.forEach,因为如果您的上下文没有任何实体,则快照始终相同。