zoukankan      html  css  js  c++  java
  • 如何保证开发过程中对数据库结构的更新顺利地迁移到产品服务器上。

    应用程序升级常常包含着数据库的升级,数据库的升级通常会包含表结构的变化(表添加字段或者删除字段),视图的更新,存储过程的更新以及字典表数据的更新。而这些更新需要有时间顺序,即在执行更新脚本的时候,必须先执行更新表结构的脚本,然后才可以正确的执行修改视图和存储过程的脚本,所以我们要求在开发的过程中设计到数据库的变化时留下sql脚本,并遵守以下脚本的名称格式的规定命名变化脚本。

     

    yyyymmddhhMM-yourname-{alter|drop|update|insert|delete}_{tablename|proc|viewname}_{entityname}.sql

     

    说明:

    第一段为日期段包括四位年份数字两位月份数字两位日期数字两位小时数字两位分钟数字,例如:200403071043

    第二段为更新人的名字,如:yukaizhao

    第三段包括操作和操作对象类型,操作对象名字,如:alter_table_UserAccount,alter_proc_login

    完整的例子:200403071043- yukaizhao- alter_table_UserAccount.sql

     

    在开发时,要严格安装以上规定记录数据库修改脚本,在发布新版本时,需要将所有脚本按照时间的先后顺序合并到一个脚本中(合并脚本的名字格式为:yyyymmddhhmm.sql包含截至到更新时的最新日期时间,可以做一个程序合并脚本),然后在测试服务器上面建立上一个版本数据库的结构,在测试服务器上面执行此脚本,如果没有错误,就可以在升级的时候执行合并的脚本,如果有错误则需要根据脚本名称记录的用户名找他纠错。

     

    技巧:

    1.  使用企业管理器修改完表之后,如何保存修改脚本


    2.  如何设置每次修改了表结构之后自动提示保存修改脚本

    在点击2中的按钮之后会出现下面的窗口,请按下图设置。

     

    附件:

    1.  合并脚本程序--下载

    2.  1中程序的源码--下载

  • 相关阅读:
    架构师的职责
    open-falcon的插件机制
    gitlab安装
    python把日期转换为秒数;日期转为字符串;datetime、date
    js获取table的值,js获取td里input的值
    grafana结合influxdb、open-falcon出图配置
    centos安装python的虚拟环境和虚拟管理环境
    centos的python2.6.x升级到python2.7.x方法;python2.6.x的版本就不要用了
    openfalcon的安装和使用
    influxdb的python操作
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/database_update_method_1.html
Copyright © 2011-2022 走看看