1 parent
329e27b515
commit
8ffeb59dd4
33 files changed
+3427
-111
No files matched your search
@@ -0,0 +1,50 @@
|
||||
-- =============================================================================
|
||||
-- IT-0 / DV-0 分域增量 DDL —— 公共部分(幂等辅助 + 连通性探针表)
|
||||
-- 目标库:apt_rev01 @ 127.0.0.1:3306 / MySQL 9.5
|
||||
-- 设计口径:CR-02 表 3-25(59 张)、表 3-33(PK/UK/IDX/迁移顺序)、
|
||||
-- 公寓端/03 表 3-8~3-15、公寓端/13 表 13-10 验收③(二次执行幂等)
|
||||
-- 通用规则:
|
||||
-- 1) InnoDB / utf8mb4 / utf8mb4_0900_ai_ci
|
||||
-- 2) 代理主键 id bigint AUTO_INCREMENT;业务幂等键一律 UK 且以 gyid 打头
|
||||
-- 3) 不建外键(docs/10 表 5-6:跨端/分库场景用应用层约束 + 对账兜底)
|
||||
-- 4) 状态用 varchar 大写下划线枚举 + CHECK,不用 MySQL ENUM、不用数字码
|
||||
-- 5) 金额 decimal(12,2)、比率 decimal(6,4)、时间 datetime(3)、禁止浮点
|
||||
-- 6) deleted tinyint NOT NULL DEFAULT 0;create_time/update_time 审计列
|
||||
-- 7) 所有 CREATE TABLE 带 IF NOT EXISTS,可重复执行
|
||||
-- =============================================================================
|
||||
SET NAMES utf8mb4;
|
||||
SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
|
||||
|
||||
-- 幂等补列存储过程:供 07_patch_columns.sql 与后续迭代增量迁移使用
|
||||
DROP PROCEDURE IF EXISTS apt_add_column_if_missing;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE apt_add_column_if_missing(
|
||||
IN p_table VARCHAR(64),
|
||||
IN p_column VARCHAR(64),
|
||||
IN p_ddl TEXT)
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = p_table
|
||||
AND COLUMN_NAME = p_column
|
||||
) THEN
|
||||
SET @apt_ddl = CONCAT('ALTER TABLE `', p_table, '` ADD COLUMN ', p_ddl);
|
||||
PREPARE apt_stmt FROM @apt_ddl;
|
||||
EXECUTE apt_stmt;
|
||||
DEALLOCATE PREPARE apt_stmt;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
-- 连通性探针专用表(不计入 59 张业务表):只做 INSERT/SELECT/DELETE 闭环验证
|
||||
CREATE TABLE IF NOT EXISTS apt_ops_probe (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '代理主键',
|
||||
gyid VARCHAR(32) NOT NULL COMMENT '公寓隔离标识',
|
||||
probe_key VARCHAR(64) NOT NULL COMMENT '探针幂等键',
|
||||
payload VARCHAR(256) NULL COMMENT '探针载荷',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '写入时刻',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_probe_gyid_key (gyid, probe_key),
|
||||
KEY idx_probe_gyid_time (gyid, created_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='IT-0 连通性探针表(非业务表)';
|
||||
Reference in new issue
Block a user