5
开发人员是否可以遵循“最佳实践”类型的流程来进行数据库更改?
什么是将数据库更改从开发环境迁移到质量保证到生产环境的好方法?目前,我们: 在SQL文件中编写更改脚本,并将其附加到TFS工作项。 这项工作经过同行评审 当工作准备好进行测试时,SQL将在QA上运行。 这项工作已经过质量检查 当工作准备好进行生产时,SQL将在生产数据库上运行。 问题在于这是非常手动的。它依赖于开发人员记住附加的sql或由开发人员忘记的peer-reviewer来捕获它。有时,最终是发现问题的测试人员或QA部署人员。 第二个问题是,如果两个单独的任务更改同一数据库对象,则有时最终需要手动协调更改。这可能只是事实,但似乎仍然应该有一些自动方式来“标记”这些问题或其他内容。 我们的设置:我们的开发车间充满了具有丰富数据库经验的开发人员。我们的项目非常面向DB。我们主要是.NET和MS SQL商店。当前,我们正在使用MS TFS工作项来跟踪我们的工作。这对于代码更改非常方便,因为它将更改集链接到工作项,因此我可以准确地找到在迁移到质量检查和生产环境时需要包括哪些更改。我们目前不使用数据库项目,但将来可能会切换到该项目(也许是答案的一部分)。 我非常习惯于我的源代码控制系统来照顾这样的事情,并且希望我的SQL拥有相同的事情。