C/S架构软件开发平台 - 旗舰版V6.0 - 数据库维护执行脚本更新


C/S架构软件开发平台 - 旗舰版V6.0 - 数据库维护执行脚本更新

C/S架构软件开发平台 - 旗舰版V6.0 - 数据库维护执行脚本更新

前言

当我们正式发布产品,在系统维护升级过期中需要迭代更新客户数据库,需要系统提供一种方式统一自动更新客户数据库。

CSFrameworkV6旗舰版提供InitDefaultData类,无感知自动化更新客户数据库。

脚本升级类 InitDefaultData.cs

_SQLs目录存放SQL脚本文件,所有文件设置为嵌套的资源。

C/S架构软件开发平台 - 旗舰版V6.0 - 脚本更新维护

 

InitDefaultData类提供三个公共方法

C/S架构软件开发平台 - 旗舰版V6.0 - 脚本更新维护

 

InitSqlScript_System 更新系统数据库

参考:更新存储过程。读取嵌入资源SQL文件。

C/S架构软件开发平台 - 旗舰版V6.0 - 脚本更新维护

C/S架构软件开发平台 - 旗舰版V6.0 - 脚本更新维护

InitSqlScript_Normal 更新账套数据库

参考:修改表结构字段类型脚本。

C/S架构软件开发平台 - 旗舰版V6.0 - 脚本更新维护

InitSystemSettings 初始化系统参数

sys_SystemSettings 表添加一个系统全局参数。

C/S架构软件开发平台 - 旗舰版V6.0 - 脚本更新维护

 

常用脚本更新

1、增加字段

C# 全选
        private static void InitSqlScript_20240514_211()
        {
            var sql = "ALTER TABLE dt_Employee ADD PositionId varchar(50);\r\n";
            var ok = CommonData.RunSqlScript(sql, nameof(InitSqlScript_20240514_211), "dt_Employee", false, true);
        }

2、修改字段类型

C# 全选
        private static void InitSqlScript_20240521_212()
        {
            var sql = "ALTER TABLE tb_INs ALTER COLUMN Quantity float;\r\n" +
                      "ALTER TABLE tb_IOs ALTER COLUMN Quantity float;\r\n" +
                      "ALTER TABLE tb_IOs ALTER COLUMN StockQty float;\r\n" +
                      "ALTER TABLE tb_IAs ALTER COLUMN Quantity float;\r\n" +
                      "ALTER TABLE tb_ICs ALTER COLUMN Quantity float;\r\n" +
                      "ALTER TABLE dt_Product ALTER COLUMN InventoryQty float;\r\n" +
                      "ALTER TABLE tb_IV_AccessoriesDtl ALTER COLUMN Quantity float;\r\n" +
                      "ALTER TABLE tb_Inventory ALTER COLUMN Quantity float;\r\n" +
                      "ALTER TABLE tb_InventoryLog ALTER COLUMN Quantity float;\r\n";
            var ok = CommonData.RunSqlScript(sql, nameof(InitSqlScript_20240521_212), "辅料所有表", false, true);
        }

3、增加、修改存储过程

C# 全选
        private static void InitSqlScript_20240601_213()
        {
            var sql = GetSql_ManifestResource("20240601_213.sql");
            if (!IsExistsSqlScriptSync("20240601_213") && !sql.IsEmpty())
            {
                //1.先删除
                var isDrop = CommonData.RunSqlScript(GetSql_DropProc("usp_ARSummaryByPeriodNew"), false);

                //2.创建
                if (isDrop)
                {
                    var ok = CommonData.RunSqlScript(sql, "20240601_213", "usp_ARSummaryByPeriodNew", false, true);
                }
            }
        }

4、新增物理表

C# 全选
        private static void InitSqlScript_20240601_214()
        {
            var sql = GetSql_ManifestResource("20240601_214.sql");
            if (!IsExistsSqlScriptSync("20240601_214") && !sql.IsEmpty())
            {
                var ok = CommonData.RunSqlScript(sql, "20240601_214", "sys_Client_Permissions", false, true);
            }
        }

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
评论列表

发表评论

评论内容
昵称:
关联文章

C/S架构软件开发平台 - 旗舰V6.0 - 数据库维护执行脚本更新
C/S架构软件开发平台 - 旗舰V6.0 - 自动创建数据库备份计划
C/S架构软件开发平台 - 旗舰V6.0开发者技能要求
C/S架构软件开发平台 - 旗舰V6.0 - 用户自定义配置报表
C/S架构软件开发平台 - 旗舰V6.0 - 通用选择窗体
C/S架构软件开发平台 - 旗舰V6 软件简介
C/S架构软件开发平台 - 旗舰V6.0 - 工厂管理(多工厂模式)
C/S架构软件开发平台 - 旗舰V6.0软件案例 - 股票软件工具
C/S架构软件开发平台 - 旗舰V6 主页
新增主从表业务单据窗体 | C/S架构软件开发平台 - 旗舰V6.0
C/S软件开发平台旗舰V6.0-迭代开发记录-主界面
C/S架构软件开发平台旗舰V6.0 - 使用FastReport.NET制作二维码报表
C/S软件开发平台旗舰V6.0-迭代开发记录-系统登录
C/S架构软件开发平台 - 旗舰V6.1 - 新功能汇总
C/S软件开发平台旗舰V6.0-迭代开发记录-报价单
C/S软件开发平台旗舰V6.0-迭代开发记录-销售订单
C/S架构软件开发平台 - 旗舰V6.1 - 销售模块 - 客户管理
C/S架构软件开发平台旗舰V6.0-WebApi新增接口
C/S软件开发平台旗舰V6.0-迭代开发记录-财务科目管理
C/S架构软件开发平台 - 旗舰V6.0 - 成功案例 - 喜鹊ERP-进销存ERP系统基础框架