zoukankan      html  css  js  c++  java
  • sql version control

     开发人员工作流程

     # 第一步

    CREATE TABLE `tm_procedure_info_luoj_20211121_1` (
    `id` int(11) NOT NULL,
    `task` varchar(80) DEFAULT NULL,
    `proc_name` varchar(50) DEFAULT NULL,
    `memo` varchar(100) DEFAULT NULL,
    `status` int(1) DEFAULT NULL,
    `params` varchar(1000) DEFAULT NULL,
    `sql_params_service` varchar(80) DEFAULT NULL,
    `orderno` int(3) DEFAULT NULL,
    `runsql` text,
    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    # 第二步

    INSERT INTO tm_procedure_info_luoj_20211121_1 (
    `id`,
    `task`,
    `proc_name`,
    `memo`,
    `status`,
    `params` ,
    `sql_params_service`,
    `orderno`,
    `runsql` ,
    `create_time`
    )
    SELECT
    `id`,
    `task`,
    `proc_name`,
    `memo`,
    `status`,
    `params` ,
    `sql_params_service`,
    `orderno`,
    `runsql` ,
    current_timestamp()
    FROM swr_procedure_info;

    # 第三步
    # 根据需求修改 sql

    select * from tm_procedure_info_luoj_20211121_1

    # 第四步

    本地 navicat 测试验证

    # 第五步

    邮件或微信群里提交 存过名称 给 Tony or Jack,由他们将更新合并到 swr_procedure_info master 库,
    然后测试验证后,发布 uat & dr & prod

    # 第六步 (Tony & Jack)

    发布历史备份(1)备份表不用上 uat 等环境

    CREATE TABLE `history_procedure_info_tony_20211121_1` (
    `id` int(11) NOT NULL,
    `task` varchar(80) DEFAULT NULL,
    `proc_name` varchar(50) DEFAULT NULL,
    `memo` varchar(100) DEFAULT NULL,
    `status` int(1) DEFAULT NULL,
    `params` varchar(1000) DEFAULT NULL,
    `sql_params_service` varchar(80) DEFAULT NULL,
    `orderno` int(3) DEFAULT NULL,
    `runsql` text,
    `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    发布历史备份(2)

    INSERT INTO history_procedure_info_tony_20211121_1 (
    `id`,
    `task`,
    `proc_name`,
    `memo`,
    `status`,
    `params` ,
    `sql_params_service`,
    `orderno`,
    `runsql` ,
    `create_time`
    )
    SELECT
    `id`,
    `task`,
    `proc_name`,
    `memo`,
    `status`,
    `params` ,
    `sql_params_service`,
    `orderno`,
    `runsql` ,
    current_timestamp()
    FROM swr_procedure_info;
    
    select * from history_procedure_info_tony_20211121_1

     # 第七步:merge

    比如说:罗建修改了 tm_procedure_info_luoj_20211121_2 表中proc_name为
    PROC_SHIA_EDR_POLICY_INFO,
    PROC_SHIA_UDR_POLICY_INFO,
    PROC_SHIA_PLY_POLICY_INFO
    
    update swr_procedure_info t set create_time=CURRENT_TIMESTAMP(), t.runsql = (
            SELECT s.runsql FROM tm_procedure_info_luoj_20211121_2 s WHERE s.id = t.id
    )
    where t.id in (
            SELECT s.id FROM tm_procedure_info_luoj_20211121_2 s WHERE s.`proc_name` = 'PROC_SHIA_PLY_POLICY_INFO'
    )
    
    select * from swr_procedure_info t
    where t.id in (
            SELECT s.id FROM tm_procedure_info_luoj_20211121_2 s WHERE s.`proc_name` = 'PROC_SHIA_PLY_POLICY_INFO'
    )
  • 相关阅读:
    H5 + 3D + AR/VR 综述
    10中典型的软件开发模型
    总线宽度VS总线带宽
    最全程序设计流程、技术、工具、交付结果【软件全生命周期】
    一幅图读懂面向对象和面向过程程序设计的区别!
    C语言实现计算器,附源码,超简单!
    request.getRequestDispatcher()的两个方法forward()/include()!!!
    关于使用ResultSet ---结果集没有当前行
    JComboBox添加item的赋值类型问题!不一致的话会导致不能更改jcombobox的选择值
    关于String的两种赋值方式
  • 原文地址:https://www.cnblogs.com/xiluhua/p/15584210.html
Copyright © 2011-2022 走看看