让我们假设以下情况:
- 5 名开发人员都在笔记本电脑上工作
- 每个人都在 Azure 计算模拟器(代码)和 SQL Server (db) 上开发/调试——两者都在他们的笔记本电脑上本地运行。
我想有
- 这 5 个 SQL“服务器”需要相互同步
- 奖励:如果 5 个 SQL 服务器也可以与(非生产)Azure SQL 数据库同步!
我该如何设置?我们设置的方式,所有开发人员最终都会从“参考”数据库(架构和数据)中分离出来,并且修剪它是一个 PITA。我希望有一些工具可以缓解这个问题。
让我们假设以下情况:
我想有
我该如何设置?我们设置的方式,所有开发人员最终都会从“参考”数据库(架构和数据)中分离出来,并且修剪它是一个 PITA。我希望有一些工具可以缓解这个问题。
开发人员应该生产代码,显然有很多方法可以同步代码更改(源代码控制)。切勿触摸数据库。曾经。如果他们需要对数据库进行任何更改,请修改部署/升级数据库的代码。Rails 的Migrations是一个很好的例子,以正确的方式做到这一点。Visual Studio 有数据库项目。您始终可以推出自己的自定义解决方案。事后比较工具我不太喜欢,但你可以说是个人意见。
我和 8 名开发人员遇到了类似的问题,我们一直在通过 RedGate 数据比较/RedGate 源代码控制进行工作。我们已经回顾了在 Prod 中使用它来同步多个环境,并使用它进行推出/部署/回滚。除了一些错误和设置细微差别之外,它是一个很棒的工具。实际上,它可能是使用最广泛的一种。我也问了一圈,一般有两种选择:
- 自己动手。我与在雅虎/康宝莱担任高级职位的员工交谈过,他们都有自己的内部工具。Yahoo 开发得很好,但 Herbalife 开发有限。
- 使用红门。模式/数据比较可以帮助您同步它们,但在多开发人员模型中使用源代码管理可能正是您所需要的。
他们有很多免费试用,您可以通过输入“我需要更多时间”作为密码来延长试用期。他们的支持人员很好,但有时响应速度较慢,因为他们主要位于英国。 http://www.red-gate.com/products/sql-development/