-- +goose Up -- +goose StatementBegin CREATE TABLE IF NOT EXISTS chat_qrcode_delivery_tasks ( id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, conversation_id BIGINT UNSIGNED NOT NULL COMMENT '待补发二维码的会话ID', status VARCHAR(16) NOT NULL DEFAULT 'pending' COMMENT '任务状态: pending待补发, sent已补发, failed失败', qrcode_id BIGINT UNSIGNED NULL COMMENT '补发使用的二维码ID', error_message VARCHAR(255) NOT NULL DEFAULT '' COMMENT '失败原因', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, sent_at DATETIME NULL COMMENT '补发完成时间', UNIQUE KEY uk_qrcode_delivery_conversation (conversation_id), KEY idx_qrcode_delivery_status_created (status, created_at), KEY idx_qrcode_delivery_qrcode (qrcode_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='发布群二维码补发任务'; -- +goose StatementEnd -- +goose Down -- +goose StatementBegin DROP TABLE IF EXISTS chat_qrcode_delivery_tasks; -- +goose StatementEnd