chore: 重写初始提交(清空历史,整理后全量提交)

This commit is contained in:
ywxapp
2026-08-16 16:54:14 +08:00
commit 6c1a106bc1
1808 changed files with 238144 additions and 0 deletions
@@ -0,0 +1,75 @@
-- ============================================================
-- 远程库时间字段规范化迁移 SQL
-- 作用:把曾由错误代码(createTime='create_time')写入的
-- 旧列 create_time / update_time / delete_time
-- 重命名为规范列 create_at / update_at / delete_at
-- 并修正列类型/默认值/注释,与 install.sql 保持一致。
-- 覆盖表(前缀示例 wxapp_,执行前全部替换为线上真实前缀):
-- card, help, medal, member_medal, prop, score_log,
-- shop, sms, task, member_prop, member_task, notice
-- 说明:
-- 1) 旧列若不存在(线上已是新列名),自动跳过,不报错。
-- 2) 新列若已存在(说明之前已改过),CHANGE 会失败——故先 DROP 旧列再 ADD 新列,
-- 但为安全采用「先探测旧列是否存在」的方式。
-- 3) 本脚本幂等:重复执行安全(旧列不存在时整段跳过)。
-- ============================================================
DELIMITER //
-- 通用迁移存储过程:仅当旧列存在且新列不存在时才改
DROP PROCEDURE IF EXISTS `__migrate_time_col`//
CREATE PROCEDURE `__migrate_time_col`(
IN p_table VARCHAR(64),
IN p_old VARCHAR(64),
IN p_new VARCHAR(64),
IN p_def VARCHAR(255)
)
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = p_table
AND COLUMN_NAME = p_old
) AND NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = p_table
AND COLUMN_NAME = p_new
) THEN
SET @sql = CONCAT('ALTER TABLE `', p_table, '` CHANGE `', p_old, '` `', p_new, '` ', p_def);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END//
DROP PROCEDURE IF EXISTS `__migrate_table`//
CREATE PROCEDURE `__migrate_table`(IN p_table VARCHAR(64))
BEGIN
-- 三列全改(按各自 install.sql 定义)
CALL __migrate_time_col(p_table, 'create_time', 'create_at', "int(11) NOT NULL DEFAULT 0 COMMENT '创建时间'");
CALL __migrate_time_col(p_table, 'update_time', 'update_at', "int(11) NOT NULL DEFAULT 0 COMMENT '更新时间'");
CALL __migrate_time_col(p_table, 'delete_time', 'delete_at', "int(11) NOT NULL DEFAULT 0 COMMENT '删除时间'");
END//
DELIMITER ;
-- 逐表迁移(member_medal / member_prop / member_task 只有 create_at,无 update/delete
CALL __migrate_table('wxapp_card');
CALL __migrate_table('wxapp_help');
CALL __migrate_table('wxapp_medal');
CALL __migrate_table('wxapp_prop');
CALL __migrate_table('wxapp_shop');
CALL __migrate_table('wxapp_sms');
CALL __migrate_table('wxapp_task');
CALL __migrate_table('wxapp_notice');
CALL __migrate_table('wxapp_score_log');
-- 仅含 create_at 的表
CALL __migrate_time_col('wxapp_member_medal', 'create_time', 'create_at', "int(11) NOT NULL DEFAULT 0 COMMENT '获得时间'");
CALL __migrate_time_col('wxapp_member_prop', 'create_time', 'create_at', "int(11) NOT NULL DEFAULT '0' COMMENT '获得时间'");
CALL __migrate_time_col('wxapp_member_task', 'create_time', 'create_at', "int(11) NOT NULL DEFAULT '0' COMMENT '领取时间'");
-- 清理临时存储过程
DROP PROCEDURE IF EXISTS `__migrate_time_col`;
DROP PROCEDURE IF EXISTS `__migrate_table`;