-- ============================================ -- 演示环境种子库 —— 按生产基准补齐(2026-10-27) -- 基准:生产 生产环境/db_iotlcm(89 表) -- 受检:演示 内网环境 演示库容器/db_iotlcm(88 表) -- -- 经 DBX 直连生产 + 演示端逐列比对(列名/类型/可空/默认/extra),确认实际差异仅 2 处: -- 1. 缺表 t_sms_template_config(11 列,生产新增的短信场景模板配置) -- 2. 两处 batch_no 默认值:种子库 DEFAULT '',生产无默认值 -- -- 说明:此前误报的 batch_detail 缺 id 列 / t_sim_channels 两列可空性差异, -- 均为 shell 管道首行丢失 + MD5 签名受表级 collation 影响的假象,已排除。 -- 88 张同名表中 86 张列定义与生产完全一致。 -- -- 幂等:可重复执行。 -- 执行顺序:02-schema-fix-preview1.sql 之后(03-);可与 02 互换,两者互补不重叠。 -- ============================================ SET NAMES utf8mb4; USE `db_iotlcm`; -- ---------- 1. 缺表:t_sms_template_config ---------- CREATE TABLE IF NOT EXISTS `t_sms_template_config` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `scene` varchar(64) NOT NULL COMMENT '业务场景码,全局唯一,如 bind_phone', `scene_name` varchar(128) NOT NULL DEFAULT '' COMMENT '场景名称(可读)', `service_type` varchar(8) NOT NULL DEFAULT '' COMMENT '短信供应商:空=用服务默认,1=阿里云,2=腾讯云', `sign_name` varchar(64) NOT NULL DEFAULT '' COMMENT '短信签名:空=用服务默认', `template_id` varchar(64) NOT NULL COMMENT '短信模板ID', `msg_content_template` varchar(512) NOT NULL DEFAULT '' COMMENT '内容参数模板,支持 {content}/{contentJson} 占位;空=直接使用调用方 msgContent', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0停用,1启用', `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', `created_at` datetime DEFAULT NULL COMMENT '创建时间', `updated_at` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_scene` (`scene`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='短信业务场景模板配置'; -- ---------- 2. batch_no 默认值对齐生产(去掉 '' 默认) ---------- -- 生产:`batch_no` varchar(64) NOT NULL (无 DEFAULT) -- 种子:`batch_no` varchar(64) NOT NULL DEFAULT '' ALTER TABLE `t_sim_pool_bind_package` MODIFY COLUMN `batch_no` varchar(64) NOT NULL COMMENT '批次号'; ALTER TABLE `t_sim_pool_bind_pkg_logs` MODIFY COLUMN `batch_no` varchar(64) NOT NULL COMMENT '批次号';