zoukankan      html  css  js  c++  java
  • ERP笔记3数据库的版本化

     

    原本这一节是放在上一篇里,后来想了想,觉得数据库的版本化很重要。有时候对数据库的管理不善甚至能够让一个项目失败,就把这个问题单独拉出来探讨。

    数据库的版本控制在DEV环境中可以存放PowerDesigner的设计文件和数据库的脚本。在QAS、TRN和PRD由于存在不同的数据,数据库的版本化就不太好做。尤其是如果数据库中数据量大,将数据库文件纳入版本管理就不是个太好的办法。对于SQL SERVER数据库,在不停止数据库服务器的情况下,甚至都无法向版本库中提交数据库文件。

    我觉得把数据库结构纳入版本化就可以了。这四个环境可以分别使用各自的数据库,如果有需要,甚至每个开发人员都可以根据sql脚本构建自己的数据库。

    数据库变更频繁的是在DEV和QAS阶段。如果项目允许,这两个环境可以共用一个数据库。

    去客户那边构建TRN和PRD环境的时候,最好从版本库中的SQL脚本构建而不是通过附加的方式附加数据库文件。因为数据库文件如前所述,不一定能够纳入版本管理,这就带来数据库不一致的风险。

    如果有条件,数据库的变更应指定专人负责。所有人对数据库结构的变更都要从此人走,至少,数据库发生变更,此人要有记录,并且将变更纳入版本库。

    当产品有多个分支的时候,数据库的版本化更加复杂。例如,基于公司基础ERP之上,又开辟了河南宇通ERP和思念食品ERP两个分支。河南宇通和思念食品有各自的个性需求,基于个性需求进行开发新特性,相应的数据库结构很可能也会发生变化。如果这种新特性需要合并到基础ERP(也即主干trunk),代码和数据库结构都要合并到主干,代码的冲突好解决,数据库文件由于未能纳入版本管理,一旦发生冲突,就比较棘手。

  • 相关阅读:
    js中获取页面被卷去的高度等一些属性
    【转】js中cookie的使用详细分析
    2017-3-16 Tsql基础编程 存储过程 触发器 级联删除
    采用ajax请求返回得到json数据,取出具体项却为undefined
    读书笔记-你不知道的JavaScript(上) 【转自 http://muyunyun.cn/】
    AJAX 三级联动
    winform 打印控件
    winform 之MDI容器
    ajax完整版
    【2017-7-17】动软代码生成器 数据库连接 配置失败 解决方法
  • 原文地址:https://www.cnblogs.com/mayee/p/erp_db_Versioning.html
Copyright © 2011-2022 走看看