我想让我的数据库受版本控制.有没有人有任何建议或推荐的文章让我开始?
我总是希望在那里至少有一些数据(如alumb提到的:用户类型和管理员).我还经常需要大量生成的测试数据来进行性能测量.
关于数据库对象是否应该受版本控制的SO社区wiki已经有一些讨论.但是,我没有看到很多关于为数据库对象创建构建自动化过程的最佳实践的讨论.
这对我的团队来说是一个有争议的讨论点 - 特别是在评估数据库部署自动化方法的优势和风险时,开发人员和DBA通常有不同的目标,方法和关注点.
我想听听SO社区关于哪些实践在现实世界中有效的一些想法.
我意识到这有点主观,哪些实践真的是最好的,但我认为一个关于哪些工作可能对许多人有帮助的良好对话.
以下是我在此主题中关注领域的一些预告片问题.这些并不是一个明确的清单 - 而是人们帮助理解我正在寻找的东西的起点.
我的DBA刚刚失去了他在我们的开发数据库上做的一些开发工作.可怜的家伙.很自然地,我们的经理在我们的状态会议上问他如何发生这种情况以及我们如何避免将来发生这种情况."源头控制可以缓解这个问题"我建议...... dba的回应; "不,我们只是更频繁地备份服务器".现在,我想帮助我的DBA了解源代码控制是什么以及它如何与该架构上的数据库架构和开发相结合.
以前我试过向他解释一下,表和存储过程背后的源代码并没有什么特别之处,它应该在源代码控制系统中(在本例中为TFS).但他只是没有咬人.现在,虽然这个错误是在最近的记忆中,但我想再次尝试.
所以我的问题是,你知道我可以传递给我的DBA的任何好建议,甚至可能有一些资源解释你将如何迁移数据库模式以进行源代码控制并在构建中找到适当的位置部署过程?
关于环境的几个事实:
澄清: 过去,我们一直在与其他DBA一起使用DB Ghost和其他变更管理解决方案.我们甚至拥有VS DB版的许可证!问题是让DBA甚至考虑这种为数据库开发的方式.他真的是老派(即从环境到环境手动迁移),不幸的是他是唯一一个对这个特定数据库有所了解的人.
sql-server version-control tfs database-design build-process