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'
    )
  • 相关阅读:
    QT 主窗口和子窗口相互切换示例
    《漫画线性代数》读书笔记 通读小结
    “网购懊悔权”为何与“机动车撞人负全责”一样扯淡?
    第十六周oj刷题——Problem J: 填空题:静态成员---计算学生个数
    HDU 1269 迷宫城堡(强连通)
    HashSet的排序
    android:改动PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色
    Spring中的FactoryBean
    免费APP在线測试工具以及其用法
    freemarker的TemplateExceptionHandler使用
  • 原文地址:https://www.cnblogs.com/xiluhua/p/15584210.html
Copyright © 2011-2022 走看看