This commit is contained in:
2026-09-20 18:51:10 +08:00
parent 20a748cf7f
commit 417cbc6363
14 changed files with 551 additions and 12 deletions
@@ -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 '上传时原始文件名';