代码之家  ›  专栏  ›  技术社区  ›  chillitom Cee McSharpface

管理DBA的生产变更/调整与开发人员待定的DB变更脚本的合并

  •  0
  • chillitom Cee McSharpface  · 技术社区  · 16 年前

    我们维护一组更改脚本,当我们的web应用程序发布时,这些脚本必须在DB上运行。我们浪费了很多时间,并且在保持这些更新方面遇到了一些困难。然而,我们的DBA喜欢(正确地)调整实时系统上的存储过程和模式,以保持系统性能。

    我们经常需要根据当前的模式和存储过程重新设置补丁的基础,然而,很难检测哪些更改可能会发生冲突,也很难确定我们可能会破坏DBA的哪些更改。

    其他人如何根据待定的更改管理live DBs上的更改需求?

    我们可以制定哪些流程来让这一流程更加顺畅?

    存储、管理模式和应用变更集的最佳方式是什么?

    提前谢谢。

    2 回复  |  直到 16 年前
        1
  •  2
  •   HLGEM    16 年前

    DBA不应该只在prod上调整proc。他们还应该使用源代码管理,并将更改放在其他环境中,以便进行更改的其他人知道这些更改。

        2
  •  1
  •   Tom    16 年前

    对数据库模式脚本进行任何和所有DDL更改,然后将其存储在源代码控件中。特别是DBA所做的更改——我建议在将基本模式和存储过程检查到源代码控制中之前,让db开发人员和DBA检查它们(这是HLGEM的建议)。进入prod应该在应用之前编写脚本并获得批准(即,如果DBA发现需要更改的内容,请DBA打开缺陷并通过该流程进行处理)。

    将所有这样的DDL更改从开发人员那里锁定。编写Java和C#的聪明人应该与您的团队db“专家”就如何最好地实现db方面的设计目标和需求进行沟通。

    将生产调整限制在那些高度依赖于情况的情况下,例如,许多IT商店都有一个DBA,他将根据应用程序提供的db部署脚本定义物理存储设置,这通常是可以的。用你的应用程序创建一个向导,帮助经验不足的人,并提供安装和基本调整的十大建议,这将大有帮助。