优化
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
-- Region: CN
|
||||
-- Schema: baiyue_file
|
||||
-- Purpose: 补齐 PDA 发布表,并将文件业务类型长度收敛到当前空库基线。
|
||||
-- Preconditions: 连接必须指向 baiyue_file;既有 business_type 不超过 32 字符。
|
||||
-- Postconditions: PDA 发布表及固定渠道存在,file_object.business_type 为 varchar(32)。
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
SET @guard = IF(
|
||||
EXISTS (SELECT 1 FROM file_object WHERE CHAR_LENGTH(business_type) > 32 LIMIT 1),
|
||||
'SIGNAL SQLSTATE ''45000'' SET MESSAGE_TEXT = ''file_object.business_type exceeds 32 characters''',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
ALTER TABLE file_object
|
||||
MODIFY COLUMN business_type varchar(32) DEFAULT NULL COMMENT '关联业务类型';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS file_pda_release_channel (
|
||||
app_code varchar(16) NOT NULL,
|
||||
app_id varchar(64) NOT NULL,
|
||||
current_apk_id char(36) DEFAULT NULL,
|
||||
current_wgt_id char(36) DEFAULT NULL,
|
||||
PRIMARY KEY (app_code)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='国内/海外PDA当前发布指针';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS file_pda_release (
|
||||
id char(36) NOT NULL,
|
||||
app_code varchar(16) NOT NULL,
|
||||
app_id varchar(64) NOT NULL,
|
||||
package_type varchar(8) NOT NULL,
|
||||
version_name varchar(32) NOT NULL,
|
||||
version_code int unsigned NOT NULL,
|
||||
min_app_version_code int unsigned NOT NULL,
|
||||
mandatory tinyint(1) NOT NULL DEFAULT '0',
|
||||
release_notes varchar(1000) NOT NULL DEFAULT '',
|
||||
status varchar(16) NOT NULL DEFAULT 'DRAFT',
|
||||
object_key varchar(128) NOT NULL,
|
||||
sha256 char(64) NOT NULL,
|
||||
size_bytes bigint unsigned NOT NULL,
|
||||
created_by bigint unsigned NOT NULL,
|
||||
created_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
published_at datetime(3) DEFAULT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_pda_release_version (app_code,package_type,version_name),
|
||||
KEY idx_pda_release_created (app_code,created_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='PDA安装包与热更新发布历史';
|
||||
|
||||
INSERT INTO file_pda_release_channel (app_code,app_id)
|
||||
SELECT 'domestic','__UNI__9BFFAF2'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM file_pda_release_channel WHERE app_code = 'domestic');
|
||||
|
||||
INSERT INTO file_pda_release_channel (app_code,app_id)
|
||||
SELECT 'overseas','__UNI__936D079'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM file_pda_release_channel WHERE app_code = 'overseas');
|
||||
@@ -0,0 +1,17 @@
|
||||
-- Region: CN
|
||||
-- Schema: baiyue_firstleg
|
||||
-- Purpose: 将一件代发作业托盘码可空性收敛到当前空库基线。
|
||||
-- Preconditions: 连接必须指向 baiyue_firstleg;fl_dropship_pallet.pallet_no 不存在 NULL。
|
||||
-- Postconditions: pallet_no 为 varchar(32) NOT NULL。
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
SET @guard = IF(
|
||||
EXISTS (SELECT 1 FROM fl_dropship_pallet WHERE pallet_no IS NULL LIMIT 1),
|
||||
'SIGNAL SQLSTATE ''45000'' SET MESSAGE_TEXT = ''fl_dropship_pallet.pallet_no contains NULL''',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
ALTER TABLE fl_dropship_pallet
|
||||
MODIFY COLUMN pallet_no varchar(32) NOT NULL COMMENT '现场扫描的系统DP托盘码';
|
||||
@@ -0,0 +1,35 @@
|
||||
-- Region: CN
|
||||
-- Schema: baiyue_iam
|
||||
-- Purpose: 将客户编号、昵称和资质原文件名定义收敛到当前空库基线。
|
||||
-- Preconditions: 连接必须指向 baiyue_iam;待收紧字段不存在 NULL,tenant_code 不超过 8 字符。
|
||||
-- Postconditions: 三个字段的类型和可空性与头程统一初始化 SQL 一致。
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
SET @guard = IF(
|
||||
EXISTS (SELECT 1 FROM iam_tenant WHERE customer_nickname IS NULL LIMIT 1),
|
||||
'SIGNAL SQLSTATE ''45000'' SET MESSAGE_TEXT = ''iam_tenant.customer_nickname contains NULL''',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @guard = IF(
|
||||
EXISTS (SELECT 1 FROM iam_tenant WHERE CHAR_LENGTH(tenant_code) > 8 LIMIT 1),
|
||||
'SIGNAL SQLSTATE ''45000'' SET MESSAGE_TEXT = ''iam_tenant.tenant_code exceeds 8 characters''',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @guard = IF(
|
||||
EXISTS (SELECT 1 FROM iam_tenant_qualification WHERE original_file_name IS NULL LIMIT 1),
|
||||
'SIGNAL SQLSTATE ''45000'' SET MESSAGE_TEXT = ''iam_tenant_qualification.original_file_name contains NULL''',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @guard; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
ALTER TABLE iam_tenant
|
||||
MODIFY COLUMN tenant_code varchar(8) NOT NULL COMMENT '客户编号:企业客户固定五位数字,平台技术主体为PLATFORM',
|
||||
MODIFY COLUMN customer_nickname varchar(32) NOT NULL COMMENT '客户昵称:创建时默认取公司名称中文拼音大写首字母,可修改';
|
||||
|
||||
ALTER TABLE iam_tenant_qualification
|
||||
MODIFY COLUMN original_file_name varchar(255) NOT NULL COMMENT '上传时原始文件名';
|
||||
Reference in New Issue
Block a user