C/S架构软件开发平台 - 旗舰版V6.0 - 数据库维护执行脚本更新
C/S架构软件开发平台 - 旗舰版V6.0 - 数据库维护执行脚本更新
目录
前言
当我们正式发布产品,在系统维护升级过期中需要迭代更新客户数据库,需要系统提供一种方式统一自动更新客户数据库。
CSFrameworkV6旗舰版提供InitDefaultData类,无感知自动化更新客户数据库。
脚本升级类 InitDefaultData.cs
_SQLs目录存放SQL脚本文件,所有文件设置为嵌套的资源。
InitDefaultData类提供三个公共方法
InitSqlScript_System 更新系统数据库
参考:更新存储过程。读取嵌入资源SQL文件。
InitSqlScript_Normal 更新账套数据库
参考:修改表结构字段类型脚本。
InitSystemSettings 初始化系统参数
sys_SystemSettings 表添加一个系统全局参数。
常用脚本更新
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);
}
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
CSFrameworkV6 C/S框架网