全项目扫描修复: Docker数据卷修复+安全requireAdmin+12页SEO+API白名单+脚本超时+常量提取+假数据删除
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
-- Forum Phase 5: Achievement system + topic subscriptions
|
||||
|
||||
CREATE TABLE `achievements` (
|
||||
`key` VARCHAR(50) NOT NULL,
|
||||
`name` VARCHAR(50) NOT NULL,
|
||||
`description` VARCHAR(200) NOT NULL,
|
||||
`icon` VARCHAR(20) NOT NULL,
|
||||
`tier` VARCHAR(20) NOT NULL DEFAULT 'bronze',
|
||||
`points` INT NOT NULL DEFAULT 0,
|
||||
`category` VARCHAR(30) NOT NULL DEFAULT 'general',
|
||||
`sort_order` INT NOT NULL DEFAULT 0,
|
||||
`is_active` BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
PRIMARY KEY (`key`),
|
||||
INDEX `achievements_category_is_active_sort_order_idx`(`category`, `is_active`, `sort_order`)
|
||||
);
|
||||
|
||||
CREATE TABLE `user_achievements` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`user_id` INT NOT NULL,
|
||||
`achievement_key` VARCHAR(50) NOT NULL,
|
||||
`progress` INT NOT NULL DEFAULT 0,
|
||||
`unlocked_at` DATETIME(3) NULL,
|
||||
`notified_at` DATETIME(3) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `user_achievements_user_id_achievement_key_key`(`user_id`, `achievement_key`),
|
||||
INDEX `user_achievements_user_id_unlocked_at_idx`(`user_id`, `unlocked_at`),
|
||||
INDEX `user_achievements_achievement_key_idx`(`achievement_key`)
|
||||
);
|
||||
|
||||
CREATE TABLE `forum_topic_subscriptions` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`topic_id` INT NOT NULL,
|
||||
`user_id` INT NOT NULL,
|
||||
`notify_reply` BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `forum_topic_subscriptions_topic_id_user_id_key`(`topic_id`, `user_id`),
|
||||
INDEX `forum_topic_subscriptions_user_id_created_at_idx`(`user_id`, `created_at`)
|
||||
);
|
||||
Reference in New Issue
Block a user