-- ============================================================ -- 09_support_feedback.sql -- 官网问题反馈(support 页面用户提交) -- ============================================================ CREATE TABLE IF NOT EXISTS `www_support_feedbacks` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `feedback_no` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '反馈编号(对外展示,如 FB20260818A3F2B1)', `product_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '关联产品 ID(www_products.id)', `product_name_zh` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '提交时产品中文名快照', `product_name_en` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '提交时产品英文名快照', `description` TEXT NOT NULL COMMENT '问题描述', `email` VARCHAR(100) NOT NULL COMMENT '联系邮箱', `log_file_path` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '日志文件相对路径(/uploads/support-logs/...,空表示未上传)', `log_file_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '日志原始文件名', `log_file_size` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '日志文件大小(字节)', `status` VARCHAR(20) NOT NULL DEFAULT 'pending' COMMENT '处理状态: pending / processing / resolved', `visitor_ip` VARCHAR(45) NOT NULL DEFAULT '' COMMENT '访客 IP', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_feedback_no` (`feedback_no`), KEY `idx_email` (`email`), KEY `idx_created` (`created_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='官网问题反馈'; -- 若表已存在(无 feedback_no 列),按顺序执行以下迁移: -- ALTER TABLE `www_support_feedbacks` -- ADD COLUMN `feedback_no` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '反馈编号(对外展示)' AFTER `id`; -- UPDATE `www_support_feedbacks` -- SET `feedback_no` = CONCAT('FB', DATE_FORMAT(`created_at`, '%Y%m%d'), UPPER(SUBSTRING(MD5(CONCAT(`id`, `created_at`)), 1, 6))) -- WHERE `feedback_no` = ''; -- ALTER TABLE `www_support_feedbacks` -- ADD UNIQUE KEY `uk_feedback_no` (`feedback_no`);