RedGate ReadyRoll是一个非常棒的DB版本控制工具,它的工作方式就像一种魅力。但唯一的缺点就是价格。我研究了该用什么,找到了DBUp,Envolve.这些工具很好,但:
当开发人员使用的不是共享DB,而是他们自己的数据库模式和更改DB模式时,这些工具不允许在不同的分支中进行开发。当团队领导必须在分支之间切换,或者QA必须在其掌握之前测试特性时,如何处理这些问题--这对我来说是个悬而未决的问题。
使用SSDT -作为一个例子,但它使生活非常困难,如果需要的话,用一个数据,而不仅仅是用模式。如果使用基于迁移的方法,在尝试使用基于状态的方法时,可以做什么变得非常简单。
有人能建议一些基于迁移方法的DB版本控制工具吗?它可以与.NET堆栈一起工作,并且是免费的或付费的,但比RedGate便宜吗?
谢谢
附注:
如果只使用实体框架进行迁移呢?没有实体等。创建DB上下文,并做一切事情来创建具有上下迁移的迁移文件,然后在那里编写脚本或定义sql文件来应用向上/向下迁移更改。唯一的问题是快照。它将如何运作。有人用过这种方法吗?
发布于 2018-03-13 06:12:14
我们已经决定使用EF代码第一次迁移来做我们需要做的事情。如果将其与DbUp - EF代码进行比较,则第一次迁移包含下行脚本,这允许我们将DB回滚到任何目标迁移脚本。是的,这不是ReadyRoll的替代品,我不得不承认没有任何类似的产品让我感到惊讶。但它能满足我们的需要,经过一个多月的使用,我可以说-它适合我们的需要。
因为我们首先使用EF代码只用于迁移脚本,所以描述这里的团队协作没有问题,因为如果上下文没有任何实体,快照总是相同的。
发布于 2018-01-18 10:35:45
ReadyRoll还提供了一个核心版,如果您还拥有许可证,这是一个免费的权限。我承认,如果您有VS社区或专业人员,这个信息不会太有帮助。
我更新这个答案是因为Redgate不再支持ReadyRoll核心版本。相反,Redgate支持的迁移技术是天桥迁移,它附带了一个免费的社区版本。
https://stackoverflow.com/questions/48318384
复制相似问题