Files
junhong_cmp_fiber/migrations/000168_create_notification.down.sql
2026-07-24 16:07:18 +08:00

20 lines
506 B
PL/PgSQL

BEGIN;
-- 在同一事务取得排他锁后检查并删除,避免检查与删表之间写入新通知事实。
DO $$
BEGIN
IF to_regclass('tb_notification') IS NULL THEN
RETURN;
END IF;
LOCK TABLE tb_notification IN ACCESS EXCLUSIVE MODE;
IF EXISTS (SELECT 1 FROM tb_notification LIMIT 1) THEN
RAISE EXCEPTION 'tb_notification 已存在通知事实,禁止删表回滚,请停止生产者后向前修复';
END IF;
DROP TABLE tb_notification;
END
$$;
COMMIT;