Files
zhuiguang-ai/prisma/migrations/20260605000000_forum_phase4/migration.sql
T

45 lines
2.3 KiB
SQL

-- 论坛第四阶段增强:签到、举报处理、隐藏回复、审核日志
-- 2026-06-05
-- AlterTable: forum_posts 增加 is_hidden 字段
ALTER TABLE `forum_posts` ADD COLUMN `is_hidden` BOOLEAN NOT NULL DEFAULT false;
ALTER TABLE `forum_posts` ADD INDEX `forum_posts_is_hidden_idx`(`is_hidden`);
-- AlterTable: forum_reports 增加 resolution/resolvedBy
ALTER TABLE `forum_reports` ADD COLUMN `resolution` VARCHAR(20) NULL;
ALTER TABLE `forum_reports` ADD COLUMN `resolved_by` INTEGER NULL;
ALTER TABLE `forum_reports` ADD CONSTRAINT `forum_reports_resolved_by_fkey` FOREIGN KEY (`resolved_by`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE `forum_reports` ADD INDEX `forum_reports_resolved_by_idx`(`resolved_by`);
-- CreateTable: 每日签到
CREATE TABLE `forum_check_ins` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`user_id` INTEGER NOT NULL,
`check_in_date` DATE NOT NULL,
`streak` INTEGER NOT NULL DEFAULT 1,
`points_earned` INTEGER NOT NULL DEFAULT 0,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE INDEX `forum_check_ins_user_id_check_in_date_key`(`user_id`, `check_in_date`),
INDEX `forum_check_ins_user_id_check_in_date_idx`(`user_id`, `check_in_date`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE `forum_check_ins` ADD CONSTRAINT `forum_check_ins_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- CreateTable: 审核日志
CREATE TABLE `forum_moderation_logs` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`actor_id` INTEGER NOT NULL,
`target_type` VARCHAR(20) NOT NULL,
`target_id` INTEGER NOT NULL,
`action` VARCHAR(30) NOT NULL,
`reason` VARCHAR(200) NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
INDEX `forum_moderation_logs_actor_id_created_at_idx`(`actor_id`, `created_at`),
INDEX `forum_moderation_logs_target_type_target_id_idx`(`target_type`, `target_id`),
INDEX `forum_moderation_logs_created_at_idx`(`created_at`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE `forum_moderation_logs` ADD CONSTRAINT `forum_moderation_logs_actor_id_fkey` FOREIGN KEY (`actor_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;