All checks were successful
Build and Deploy / deploy (push) Successful in 1m5s
补齐被邀请人首单派送成功后给邀请人发放 REFERRAL_INVITER;将分散 migrate 脚本合并为可重复执行的 admin1008.sql。 Co-authored-by: Cursor <cursoragent@cursor.com>
101 lines
2.9 KiB
SQL
101 lines
2.9 KiB
SQL
-- =============================================================================
|
||
-- 只清空表里的数据,不删表、不改表结构(DELETE FROM,不是 DROP / TRUNCATE)
|
||
-- 1) fake_simple_admin:表名以前缀开头
|
||
-- t_order / c_ / t_pickup / t_recharge / t_customer
|
||
-- t_coupon / t_member / t_referral / t_sales / t_service
|
||
-- 2) track_center:表名以 t_order 开头
|
||
-- 请在 Navicat / DBeaver / MySQL Workbench 里整段执行(需要 DELIMITER)。
|
||
-- =============================================================================
|
||
|
||
-- 执行前先看将要清空的表
|
||
SELECT TABLE_SCHEMA, TABLE_NAME
|
||
FROM information_schema.TABLES
|
||
WHERE TABLE_TYPE = 'BASE TABLE'
|
||
AND (
|
||
(
|
||
TABLE_SCHEMA = 'fake_simple_admin'
|
||
AND (
|
||
TABLE_NAME LIKE 't\_order%'
|
||
OR TABLE_NAME LIKE 'c\_%'
|
||
OR TABLE_NAME LIKE 't\_pickup%'
|
||
OR TABLE_NAME LIKE 't\_recharge%'
|
||
OR TABLE_NAME LIKE 't\_customer%'
|
||
OR TABLE_NAME LIKE 't\_coupon%'
|
||
OR TABLE_NAME LIKE 't\_member%'
|
||
OR TABLE_NAME LIKE 't\_referral%'
|
||
OR TABLE_NAME LIKE 't\_sales%'
|
||
OR TABLE_NAME LIKE 't\_service%'
|
||
)
|
||
)
|
||
OR (
|
||
TABLE_SCHEMA = 'track_center'
|
||
AND TABLE_NAME LIKE 't\_order%'
|
||
)
|
||
)
|
||
ORDER BY TABLE_SCHEMA, TABLE_NAME;
|
||
|
||
DELIMITER $$
|
||
|
||
DROP PROCEDURE IF EXISTS `fake_simple_admin`.`sp_clear_biz_tables`$$
|
||
|
||
CREATE PROCEDURE `fake_simple_admin`.`sp_clear_biz_tables`()
|
||
BEGIN
|
||
DECLARE v_done INT DEFAULT 0;
|
||
DECLARE v_schema VARCHAR(64);
|
||
DECLARE v_table VARCHAR(128);
|
||
DECLARE v_sql TEXT;
|
||
|
||
DECLARE cur CURSOR FOR
|
||
SELECT TABLE_SCHEMA, TABLE_NAME
|
||
FROM information_schema.TABLES
|
||
WHERE TABLE_TYPE = 'BASE TABLE'
|
||
AND (
|
||
(
|
||
TABLE_SCHEMA = 'fake_simple_admin'
|
||
AND (
|
||
TABLE_NAME LIKE 't\_order%'
|
||
OR TABLE_NAME LIKE 'c\_%'
|
||
OR TABLE_NAME LIKE 't\_pickup%'
|
||
OR TABLE_NAME LIKE 't\_recharge%'
|
||
OR TABLE_NAME LIKE 't\_customer%'
|
||
OR TABLE_NAME LIKE 't\_coupon%'
|
||
OR TABLE_NAME LIKE 't\_member%'
|
||
OR TABLE_NAME LIKE 't\_referral%'
|
||
OR TABLE_NAME LIKE 't\_sales%'
|
||
OR TABLE_NAME LIKE 't\_service%'
|
||
)
|
||
)
|
||
OR (
|
||
TABLE_SCHEMA = 'track_center'
|
||
AND TABLE_NAME LIKE 't\_order%'
|
||
)
|
||
)
|
||
ORDER BY TABLE_SCHEMA, TABLE_NAME;
|
||
|
||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = 1;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
OPEN cur;
|
||
read_loop: LOOP
|
||
FETCH cur INTO v_schema, v_table;
|
||
IF v_done = 1 THEN
|
||
LEAVE read_loop;
|
||
END IF;
|
||
|
||
SET v_sql = CONCAT('DELETE FROM `', v_schema, '`.`', v_table, '`');
|
||
SET @stmt = v_sql;
|
||
PREPARE s FROM @stmt;
|
||
EXECUTE s;
|
||
DEALLOCATE PREPARE s;
|
||
END LOOP;
|
||
CLOSE cur;
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|
||
END$$
|
||
|
||
DELIMITER ;
|
||
|
||
CALL `fake_simple_admin`.`sp_clear_biz_tables`();
|
||
DROP PROCEDURE IF EXISTS `fake_simple_admin`.`sp_clear_biz_tables`;
|