一个团队在同一个数据库上工作的最佳实践是什么? 开发人员应该使用他们自己的本地数据库,还是一个共享的开发数据库实例?
一个团队在同一个数据库上工作的最佳实践是什么? 开发人员应该使用他们自己的本地数据库,还是一个共享的开发数据库实例?
根据我的经验,一个团队应该至少有一个共享数据库用于集成。
在开发过程中,每个团队成员都应该有一个独立的数据库,否则数据库模式的更改可能会妨碍其他团队成员。这些实例也可以存在于一个集中的服务器上。
从经验来看,共享数据库更好。我们的代码过去经常出问题,因为有人在他们的本地数据库上添加了一列,然后将他们的新源代码上传到 SVN。直到其他人弄清楚数据库中发生了什么变化之前,每个人的实现都会受到影响。
我会为开发使用一个共享数据库。我们也有一两个用于杂项测试的开发数据库。
为开发人员拥有单独的数据库实例可以帮助他们在隔离环境中工作,但如果我们是一个大团队并且同时处理多个任务,则最好也拥有共享环境,以便所有需要同时交付的更改不会相互冲突,并且它们的依赖关系也可以正确地确定。这也有助于确定由于更改而可能导致任何应用程序崩溃的位置。因此,最好除了一些隔离的环境副本外,还要有一个共享环境,以防我们可能想要测试某些非常重要且必须正常工作的大型复杂内容。
但唯一的问题是保持多个环境彼此同步,因为任何缺失的更改都可能是致命的。