blob: 6f72579a0878e940c4a5570991e472b41a0b1ddb [file] [log] [blame]
张家豪792f2282025-06-06 16:47:33 +08001/*
2Navicat Premium Dump SQL
3
4 Source Server : first
5 Source Server Type : MySQL
6 Source Server Version : 80036 (8.0.36)
7 Source Host : localhost:3306
8 Source Schema : ppt
9
10 Target Server Type : MySQL
11 Target Server Version : 80036 (8.0.36)
12 File Encoding : 65001
13
14 Date: 04/06/2025 14:33:40
15*/
16
17SET NAMES utf8mb4;
18SET FOREIGN_KEY_CHECKS = 0;
19
20-- ----------------------------
21-- Table structure for categories
22-- ----------------------------
23DROP TABLE IF EXISTS `categories`;
24CREATE TABLE `categories` (
25 `id` bigint NOT NULL AUTO_INCREMENT,
26 `slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
27 `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
28 `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
29 PRIMARY KEY (`id`) USING BTREE,
30 UNIQUE INDEX `uk_categories_slug`(`slug` ASC) USING BTREE,
31 UNIQUE INDEX `UKoul14ho7bctbefv8jywp5v3i2`(`slug` ASC) USING BTREE,
32 INDEX `idx_categories_slug`(`slug` ASC) USING BTREE,
33 INDEX `IDXoul14ho7bctbefv8jywp5v3i2`(`slug` ASC) USING BTREE
34) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
35
36-- ----------------------------
37-- Records of categories
38-- ----------------------------
39INSERT INTO `categories` VALUES (1, 'os', '操作系统', 'os-icon.png');
40
41-- ----------------------------
42-- Table structure for exam_plans
43-- ----------------------------
44DROP TABLE IF EXISTS `exam_plans`;
45CREATE TABLE `exam_plans` (
46 `id` bigint NOT NULL AUTO_INCREMENT,
47 `display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
48 `downloaded` bigint NOT NULL,
49 `duration` bigint NOT NULL,
50 `karma` double NOT NULL,
51 `seeding_time` bigint NOT NULL,
52 `seeds` bigint NOT NULL,
53 `share_ratio` double NOT NULL,
54 `slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
55 `uploaded` bigint NOT NULL,
56 PRIMARY KEY (`id`) USING BTREE,
57 UNIQUE INDEX `UK74jaepieaj2umswpqn16yy3x5`(`slug` ASC) USING BTREE,
58 INDEX `IDX74jaepieaj2umswpqn16yy3x5`(`slug` ASC) USING BTREE
59) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
60
61-- ----------------------------
62-- Records of exam_plans
63-- ----------------------------
64
65-- ----------------------------
66-- Table structure for exams
67-- ----------------------------
68DROP TABLE IF EXISTS `exams`;
69CREATE TABLE `exams` (
70 `id` bigint NOT NULL AUTO_INCREMENT,
71 `end_at` datetime(6) NOT NULL,
72 `exam_plan_id` bigint NULL DEFAULT NULL,
73 `user_id` bigint NULL DEFAULT NULL,
74 PRIMARY KEY (`id`) USING BTREE,
75 UNIQUE INDEX `UK2wii0igd3vdfecy00op0un4qt`(`user_id` ASC) USING BTREE,
76 INDEX `IDX2wii0igd3vdfecy00op0un4qt`(`user_id` ASC) USING BTREE,
77 INDEX `FKl0cips1gany3cuppyfs7ntpai`(`exam_plan_id` ASC) USING BTREE,
78 CONSTRAINT `FKi63cpl1xkgy32iq68ru4ypjn4` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
79 CONSTRAINT `FKl0cips1gany3cuppyfs7ntpai` FOREIGN KEY (`exam_plan_id`) REFERENCES `exam_plans` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
80) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
81
82-- ----------------------------
83-- Records of exams
84-- ----------------------------
85
86-- ----------------------------
87-- Table structure for login_history
88-- ----------------------------
89DROP TABLE IF EXISTS `login_history`;
90CREATE TABLE `login_history` (
91 `id` bigint NOT NULL AUTO_INCREMENT,
92 `user_id` bigint NOT NULL,
93 `time` timestamp NOT NULL,
94 `type` enum('ACCOUNT','PASSKEY','PERSONAL_ACCESSTOKEN','PROGRAM_INTERNAL','TWO_STEP_VERIFICATION') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
95 `ip_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
96 `user_agent` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
97 `location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
98 PRIMARY KEY (`id`) USING BTREE,
99 INDEX `idx_login_time`(`time` ASC) USING BTREE,
100 INDEX `fk_loginhistory_user`(`user_id` ASC) USING BTREE,
101 INDEX `IDX3lft44makrxommxm63k7xj77d`(`time` ASC) USING BTREE,
102 CONSTRAINT `fk_loginhistory_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
103) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
104
105-- ----------------------------
106-- Records of login_history
107-- ----------------------------
108INSERT INTO `login_history` VALUES (1, 1, '2025-06-03 12:25:33', 'ACCOUNT', '0:0:0:0:0:0:0:1', 'PostmanRuntime/7.43.4', 'Unknown - GeoIP not initialized');
109INSERT INTO `login_history` VALUES (2, 1, '2025-06-03 12:51:42', 'ACCOUNT', '0:0:0:0:0:0:0:1', 'PostmanRuntime/7.43.4', 'Unknown - GeoIP not initialized');
110INSERT INTO `login_history` VALUES (3, 1, '2025-06-03 12:52:55', 'ACCOUNT', '0:0:0:0:0:0:0:1', 'PostmanRuntime/7.43.4', 'Unknown - GeoIP not initialized');
111INSERT INTO `login_history` VALUES (4, 1, '2025-06-03 14:20:55', 'ACCOUNT', '0:0:0:0:0:0:0:1', 'PostmanRuntime/7.43.4', 'Unknown - GeoIP not initialized');
112INSERT INTO `login_history` VALUES (5, 1, '2025-06-03 14:31:13', 'ACCOUNT', '0:0:0:0:0:0:0:1', 'PostmanRuntime/7.43.4', 'Unknown - GeoIP not initialized');
113INSERT INTO `login_history` VALUES (6, 1, '2025-06-04 03:40:10', 'ACCOUNT', '0:0:0:0:0:0:0:1', 'PostmanRuntime/7.44.0', 'Unknown - GeoIP not initialized');
114INSERT INTO `login_history` VALUES (7, 1, '2025-06-04 03:43:09', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
115INSERT INTO `login_history` VALUES (8, 1, '2025-06-04 03:44:27', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
116INSERT INTO `login_history` VALUES (9, 1, '2025-06-04 03:51:35', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
117INSERT INTO `login_history` VALUES (10, 1, '2025-06-04 03:52:22', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
118INSERT INTO `login_history` VALUES (11, 1, '2025-06-04 03:52:53', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
119INSERT INTO `login_history` VALUES (12, 1, '2025-06-04 03:53:12', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
120INSERT INTO `login_history` VALUES (13, 1, '2025-06-04 03:54:46', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
121INSERT INTO `login_history` VALUES (14, 1, '2025-06-04 03:58:14', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
122INSERT INTO `login_history` VALUES (15, 1, '2025-06-04 04:22:30', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
123INSERT INTO `login_history` VALUES (16, 1, '2025-06-04 04:43:29', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
124INSERT INTO `login_history` VALUES (17, 1, '2025-06-04 04:54:09', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
125INSERT INTO `login_history` VALUES (18, 1, '2025-06-04 04:59:13', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
126INSERT INTO `login_history` VALUES (19, 1, '2025-06-04 05:17:07', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
127INSERT INTO `login_history` VALUES (20, 1, '2025-06-04 05:18:28', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
128INSERT INTO `login_history` VALUES (21, 1, '2025-06-04 05:21:25', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
129INSERT INTO `login_history` VALUES (22, 1, '2025-06-04 05:21:58', 'PASSKEY', '192.168.10.10', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
130INSERT INTO `login_history` VALUES (23, 1, '2025-06-04 05:22:24', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
131INSERT INTO `login_history` VALUES (24, 1, '2025-06-04 05:22:30', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
132INSERT INTO `login_history` VALUES (25, 1, '2025-06-04 05:27:44', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
133INSERT INTO `login_history` VALUES (26, 1, '2025-06-04 05:27:50', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
134INSERT INTO `login_history` VALUES (27, 1, '2025-06-04 05:31:45', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
135INSERT INTO `login_history` VALUES (28, 1, '2025-06-04 05:33:00', 'PASSKEY', '192.168.10.10', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
136INSERT INTO `login_history` VALUES (29, 1, '2025-06-04 06:11:31', 'PASSKEY', '192.168.254.1', 'qBittorrent/5.1.0', 'Unknown - GeoIP not initialized');
137INSERT INTO `login_history` VALUES (30, 1, '2025-06-04 06:12:13', 'PASSKEY', '192.168.254.1', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
138INSERT INTO `login_history` VALUES (31, 1, '2025-06-04 06:12:27', 'PASSKEY', '192.168.254.1', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
139INSERT INTO `login_history` VALUES (32, 1, '2025-06-04 06:13:21', 'PASSKEY', '192.168.254.1', 'Transmission/4.0.6', 'Unknown - GeoIP not initialized');
140
141-- ----------------------------
142-- Table structure for peers
143-- ----------------------------
144DROP TABLE IF EXISTS `peers`;
145CREATE TABLE `peers` (
146 `id` bigint NOT NULL AUTO_INCREMENT,
147 `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
148 `port` int NOT NULL,
149 `info_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
150 `peer_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
151 `user_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
152 `uploaded` bigint NOT NULL,
153 `downloaded` bigint NOT NULL,
154 `to_go` bigint NOT NULL,
155 `seeder` tinyint(1) NOT NULL,
156 `partial_seeder` tinyint(1) NOT NULL,
157 `passkey` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
158 `update_at` timestamp NOT NULL,
159 `seeding_time` bigint NOT NULL,
160 `upload_speed` bigint NOT NULL,
161 `download_speed` bigint NOT NULL,
162 `user_id` bigint NULL DEFAULT NULL,
163 PRIMARY KEY (`id`) USING BTREE,
164 UNIQUE INDEX `uk_peers_ip_port_infohash`(`ip` ASC, `port` ASC, `info_hash` ASC) USING BTREE,
165 UNIQUE INDEX `UKoa8l3xqdvxr898mosks3hq3cb`(`ip` ASC, `port` ASC, `info_hash` ASC) USING BTREE,
166 INDEX `idx_peers_update_at`(`update_at` ASC) USING BTREE,
167 INDEX `fk_peers_user`(`user_id` ASC) USING BTREE,
168 INDEX `IDXmmvk33liy7j5u9e4qhxw2d7h5`(`update_at` ASC) USING BTREE,
169 CONSTRAINT `fk_peers_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
170) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
171
172
173-- ----------------------------
174-- Table structure for permissions
175-- ----------------------------
176DROP TABLE IF EXISTS `permissions`;
177CREATE TABLE `permissions` (
178 `id` bigint NOT NULL AUTO_INCREMENT,
179 `slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
180 `def` tinyint(1) NOT NULL,
181 `user_group_id` bigint NULL DEFAULT NULL,
182 PRIMARY KEY (`id`) USING BTREE,
183 UNIQUE INDEX `uk_permissions_slug`(`slug` ASC) USING BTREE,
184 UNIQUE INDEX `UKdv6mwikptsu70hcrjq07sqsfy`(`slug` ASC) USING BTREE,
185 INDEX `fk_permissions_user_group`(`user_group_id` ASC) USING BTREE,
186 CONSTRAINT `fk_permissions_user_group` FOREIGN KEY (`user_group_id`) REFERENCES `user_groups` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
187) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
188
189-- ----------------------------
190-- Records of permissions
191-- ----------------------------
192INSERT INTO `permissions` VALUES (1, 'torrent:upload', 1, 1);
193INSERT INTO `permissions` VALUES (2, 'torrent:download', 1, 1);
194INSERT INTO `permissions` VALUES (3, 'torrent:view', 1, 1);
195INSERT INTO `permissions` VALUES (4, 'torrent:search', 1, 1);
196INSERT INTO `permissions` VALUES (5, 'comment:create', 1, 1);
197INSERT INTO `permissions` VALUES (6, 'user:manage', 1, 1);
198INSERT INTO `permissions` VALUES (7, 'torrent:approve', 1, 1);
199INSERT INTO `permissions` VALUES (8, 'torrent:thanks', 1, 1);
200INSERT INTO `permissions` VALUES (9, 'promotion:list', 1, 1);
201
202-- ----------------------------
203-- Table structure for promotion_policies
204-- ----------------------------
205DROP TABLE IF EXISTS `promotion_policies`;
206CREATE TABLE `promotion_policies` (
207 `id` bigint NOT NULL AUTO_INCREMENT,
208 `slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
209 `display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
210 `upload_ratio` double NULL DEFAULT NULL,
211 `download_ratio` double NULL DEFAULT NULL,
212 PRIMARY KEY (`id`) USING BTREE,
213 UNIQUE INDEX `uk_promotion_policies_slug`(`slug` ASC) USING BTREE,
214 UNIQUE INDEX `UKcjqpe1g15outfc0u6ajvpwxoe`(`slug` ASC) USING BTREE
215) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
216
217-- ----------------------------
218-- Records of promotion_policies
219-- ----------------------------
220INSERT INTO `promotion_policies` VALUES (1, 'default', '默认策略', 1, 1);
221INSERT INTO `promotion_policies` VALUES (2, 'vip', '活跃用户策略', 1, 1.5);
222
223-- ----------------------------
224-- Table structure for qrtz_blob_triggers
225-- ----------------------------
226DROP TABLE IF EXISTS `qrtz_blob_triggers`;
227CREATE TABLE `qrtz_blob_triggers` (
228 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
229 `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
230 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
231 `BLOB_DATA` blob NULL,
232 PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
233 INDEX `SCHED_NAME`(`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE,
234 CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
235) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
236
237-- ----------------------------
238-- Records of qrtz_blob_triggers
239-- ----------------------------
240
241-- ----------------------------
242-- Table structure for qrtz_calendars
243-- ----------------------------
244DROP TABLE IF EXISTS `qrtz_calendars`;
245CREATE TABLE `qrtz_calendars` (
246 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
247 `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
248 `CALENDAR` blob NOT NULL,
249 PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
250) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
251
252-- ----------------------------
253-- Records of qrtz_calendars
254-- ----------------------------
255
256-- ----------------------------
257-- Table structure for qrtz_cron_triggers
258-- ----------------------------
259DROP TABLE IF EXISTS `qrtz_cron_triggers`;
260CREATE TABLE `qrtz_cron_triggers` (
261 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
262 `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
263 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
264 `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
265 `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
266 PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
267 CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
268) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
269
270-- ----------------------------
271-- Records of qrtz_cron_triggers
272-- ----------------------------
273
274-- ----------------------------
275-- Table structure for qrtz_fired_triggers
276-- ----------------------------
277DROP TABLE IF EXISTS `qrtz_fired_triggers`;
278CREATE TABLE `qrtz_fired_triggers` (
279 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
280 `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
281 `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
282 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
283 `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
284 `FIRED_TIME` bigint NOT NULL,
285 `SCHED_TIME` bigint NOT NULL,
286 `PRIORITY` int NOT NULL,
287 `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
288 `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
289 `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
290 `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
291 `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
292 PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
293 INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME` ASC, `INSTANCE_NAME` ASC) USING BTREE,
294 INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME` ASC, `INSTANCE_NAME` ASC, `REQUESTS_RECOVERY` ASC) USING BTREE,
295 INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME` ASC, `JOB_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
296 INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
297 INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE,
298 INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE
299) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
300
301-- ----------------------------
302-- Records of qrtz_fired_triggers
303-- ----------------------------
304
305-- ----------------------------
306-- Table structure for qrtz_job_details
307-- ----------------------------
308DROP TABLE IF EXISTS `qrtz_job_details`;
309CREATE TABLE `qrtz_job_details` (
310 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
311 `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
312 `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
313 `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
314 `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
315 `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
316 `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
317 `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
318 `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
319 `JOB_DATA` blob NULL,
320 PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
321 INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME` ASC, `REQUESTS_RECOVERY` ASC) USING BTREE,
322 INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME` ASC, `JOB_GROUP` ASC) USING BTREE
323) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
324
325-- ----------------------------
326-- Records of qrtz_job_details
327-- ----------------------------
328INSERT INTO `qrtz_job_details` VALUES ('sapling_scheduler', 'peers_cleanup', 'DEFAULT', 'Peers Cleanup', 'com.github.example.pt.crontask.PeersCleanup', '1', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787000737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007800);
329
330-- ----------------------------
331-- Table structure for qrtz_locks
332-- ----------------------------
333DROP TABLE IF EXISTS `qrtz_locks`;
334CREATE TABLE `qrtz_locks` (
335 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
336 `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
337 PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
338) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
339
340-- ----------------------------
341-- Records of qrtz_locks
342-- ----------------------------
343INSERT INTO `qrtz_locks` VALUES ('sapling_scheduler', 'STATE_ACCESS');
344INSERT INTO `qrtz_locks` VALUES ('sapling_scheduler', 'TRIGGER_ACCESS');
345
346-- ----------------------------
347-- Table structure for qrtz_paused_trigger_grps
348-- ----------------------------
349DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
350CREATE TABLE `qrtz_paused_trigger_grps` (
351 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
352 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
353 PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
354) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
355
356-- ----------------------------
357-- Records of qrtz_paused_trigger_grps
358-- ----------------------------
359
360-- ----------------------------
361-- Table structure for qrtz_scheduler_state
362-- ----------------------------
363DROP TABLE IF EXISTS `qrtz_scheduler_state`;
364CREATE TABLE `qrtz_scheduler_state` (
365 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
366 `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
367 `LAST_CHECKIN_TIME` bigint NOT NULL,
368 `CHECKIN_INTERVAL` bigint NOT NULL,
369 PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
370) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
371
372-- ----------------------------
373-- Records of qrtz_scheduler_state
374-- ----------------------------
375INSERT INTO `qrtz_scheduler_state` VALUES ('sapling_scheduler', 'LAPTOP-V24K5A551749018489588', 1749018510182, 10000);
376
377-- ----------------------------
378-- Table structure for qrtz_simple_triggers
379-- ----------------------------
380DROP TABLE IF EXISTS `qrtz_simple_triggers`;
381CREATE TABLE `qrtz_simple_triggers` (
382 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
383 `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
384 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
385 `REPEAT_COUNT` bigint NOT NULL,
386 `REPEAT_INTERVAL` bigint NOT NULL,
387 `TIMES_TRIGGERED` bigint NOT NULL,
388 PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
389 CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
390) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
391
392-- ----------------------------
393-- Records of qrtz_simple_triggers
394-- ----------------------------
395INSERT INTO `qrtz_simple_triggers` VALUES ('sapling_scheduler', '6da64b5bd2ee-37ffa82a-a598-485c-9718-40ee90c26bc4', 'DEFAULT', -1, 1800000, 1);
396
397-- ----------------------------
398-- Table structure for qrtz_simprop_triggers
399-- ----------------------------
400DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
401CREATE TABLE `qrtz_simprop_triggers` (
402 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
403 `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
404 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
405 `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
406 `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
407 `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
408 `INT_PROP_1` int NULL DEFAULT NULL,
409 `INT_PROP_2` int NULL DEFAULT NULL,
410 `LONG_PROP_1` bigint NULL DEFAULT NULL,
411 `LONG_PROP_2` bigint NULL DEFAULT NULL,
412 `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
413 `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
414 `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
415 `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
416 PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
417 CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
418) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
419
420-- ----------------------------
421-- Records of qrtz_simprop_triggers
422-- ----------------------------
423
424-- ----------------------------
425-- Table structure for qrtz_triggers
426-- ----------------------------
427DROP TABLE IF EXISTS `qrtz_triggers`;
428CREATE TABLE `qrtz_triggers` (
429 `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
430 `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
431 `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
432 `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
433 `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
434 `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
435 `NEXT_FIRE_TIME` bigint NULL DEFAULT NULL,
436 `PREV_FIRE_TIME` bigint NULL DEFAULT NULL,
437 `PRIORITY` int NULL DEFAULT NULL,
438 `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
439 `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
440 `START_TIME` bigint NOT NULL,
441 `END_TIME` bigint NULL DEFAULT NULL,
442 `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
443 `MISFIRE_INSTR` smallint NULL DEFAULT NULL,
444 `JOB_DATA` blob NULL,
445 PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
446 INDEX `IDX_QRTZ_T_J`(`SCHED_NAME` ASC, `JOB_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
447 INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME` ASC, `JOB_GROUP` ASC) USING BTREE,
448 INDEX `IDX_QRTZ_T_C`(`SCHED_NAME` ASC, `CALENDAR_NAME` ASC) USING BTREE,
449 INDEX `IDX_QRTZ_T_G`(`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC) USING BTREE,
450 INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME` ASC, `TRIGGER_STATE` ASC) USING BTREE,
451 INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC) USING BTREE,
452 INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC) USING BTREE,
453 INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME` ASC, `NEXT_FIRE_TIME` ASC) USING BTREE,
454 INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME` ASC, `TRIGGER_STATE` ASC, `NEXT_FIRE_TIME` ASC) USING BTREE,
455 INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC) USING BTREE,
456 INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC, `TRIGGER_STATE` ASC) USING BTREE,
457 INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC) USING BTREE,
458 CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
459) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
460
461-- ----------------------------
462-- Records of qrtz_triggers
463-- ----------------------------
464INSERT INTO `qrtz_triggers` VALUES ('sapling_scheduler', '6da64b5bd2ee-37ffa82a-a598-485c-9718-40ee90c26bc4', 'DEFAULT', 'peers_cleanup', 'DEFAULT', NULL, 1749020288505, 1749018488505, 5, 'WAITING', 'SIMPLE', 1749018488505, 0, NULL, 0, '');
465
466-- ----------------------------
467-- Table structure for seedbox
468-- ----------------------------
469DROP TABLE IF EXISTS `seedbox`;
470CREATE TABLE `seedbox` (
471 `id` bigint NOT NULL AUTO_INCREMENT,
472 `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
473 `download_multiplier_id` bigint NULL DEFAULT NULL,
474 `upload_multiplier_id` bigint NULL DEFAULT NULL,
475 PRIMARY KEY (`id`) USING BTREE,
476 UNIQUE INDEX `UKecbehjtg3bfr4rmyixt1gcvfq`(`address` ASC) USING BTREE,
477 INDEX `FKq63tqhykgl96l4rkwy9widy5b`(`download_multiplier_id` ASC) USING BTREE,
478 INDEX `FK9xl51na3dn8k7ou8cyv7s1wrf`(`upload_multiplier_id` ASC) USING BTREE,
479 CONSTRAINT `FK9xl51na3dn8k7ou8cyv7s1wrf` FOREIGN KEY (`upload_multiplier_id`) REFERENCES `promotion_policies` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
480 CONSTRAINT `FKq63tqhykgl96l4rkwy9widy5b` FOREIGN KEY (`download_multiplier_id`) REFERENCES `promotion_policies` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
481) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
482
483-- ----------------------------
484-- Records of seedbox
485-- ----------------------------
486
487-- ----------------------------
488-- Table structure for settings
489-- ----------------------------
490DROP TABLE IF EXISTS `settings`;
491CREATE TABLE `settings` (
492 `id` bigint NOT NULL AUTO_INCREMENT,
493 `setting_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
494 `setting_value` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
495 PRIMARY KEY (`id`) USING BTREE,
496 UNIQUE INDEX `uk_settings_setting_key`(`setting_key` ASC) USING BTREE,
497 UNIQUE INDEX `UKswd05dvj4ukvw5q135bpbbfae`(`setting_key` ASC) USING BTREE
498) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
499
500-- ----------------------------
501-- Table structure for tags
502-- ----------------------------
503DROP TABLE IF EXISTS `tags`;
504CREATE TABLE `tags` (
505 `id` bigint NOT NULL AUTO_INCREMENT,
506 `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
507 PRIMARY KEY (`id`) USING BTREE,
508 UNIQUE INDEX `uk_tags_name`(`name` ASC) USING BTREE,
509 UNIQUE INDEX `UKt48xdq560gs3gap9g7jg36kgc`(`name` ASC) USING BTREE
510) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
511
512-- ----------------------------
513-- Records of tags
514-- ----------------------------
515INSERT INTO `tags` VALUES (9, '[\"linux\"]');
516INSERT INTO `tags` VALUES (3, 'debian');
517INSERT INTO `tags` VALUES (1, 'linux');
518INSERT INTO `tags` VALUES (5, 'macos');
519INSERT INTO `tags` VALUES (2, 'ubuntu');
520INSERT INTO `tags` VALUES (4, 'windows');
521
522-- ----------------------------
523-- Table structure for thanks
524-- ----------------------------
525DROP TABLE IF EXISTS `thanks`;
526CREATE TABLE `thanks` (
527 `id` bigint NOT NULL AUTO_INCREMENT,
528 `torrent_id` bigint NULL DEFAULT NULL,
529 `user_id` bigint NULL DEFAULT NULL,
530 PRIMARY KEY (`id`) USING BTREE,
531 UNIQUE INDEX `UKrt9lg0h53brgpf9iat5hcmf6g`(`user_id` ASC, `torrent_id` ASC) USING BTREE,
532 INDEX `FKp3kgh25tko48vq7x6u2w3dvpp`(`torrent_id` ASC) USING BTREE,
533 CONSTRAINT `FK2t90h21s5hyx6hynewsdlk46j` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
534 CONSTRAINT `FKp3kgh25tko48vq7x6u2w3dvpp` FOREIGN KEY (`torrent_id`) REFERENCES `torrents` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
535) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
536
537-- ----------------------------
538-- Records of thanks
539-- ----------------------------
540
541-- ----------------------------
542-- Table structure for torrents
543-- ----------------------------
544DROP TABLE IF EXISTS `torrents`;
545CREATE TABLE `torrents` (
546 `id` bigint NOT NULL AUTO_INCREMENT,
547 `info_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
548 `user_id` bigint NULL DEFAULT NULL,
549 `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
550 `sub_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
551 `size` bigint NOT NULL,
552 `created_at` timestamp NOT NULL,
553 `updated_at` timestamp NOT NULL,
554 `under_review` tinyint(1) NOT NULL,
555 `anonymous` tinyint(1) NOT NULL,
556 `category_id` bigint NULL DEFAULT NULL,
557 `promotion_policy_id` bigint NULL DEFAULT NULL,
558 `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
559 PRIMARY KEY (`id`) USING BTREE,
560 UNIQUE INDEX `uk_torrents_info_hash`(`info_hash` ASC) USING BTREE,
561 UNIQUE INDEX `UKhag2ej1vo8snvirb1lv4b8r4x`(`info_hash` ASC) USING BTREE,
562 INDEX `idx_torrents_title`(`title` ASC) USING BTREE,
563 INDEX `idx_torrents_sub_title`(`sub_title` ASC) USING BTREE,
564 INDEX `idx_torrents_promotion_policy_id`(`promotion_policy_id` ASC) USING BTREE,
565 INDEX `fk_torrents_user`(`user_id` ASC) USING BTREE,
566 INDEX `fk_torrents_category`(`category_id` ASC) USING BTREE,
567 INDEX `IDXdplkaapqslelnscuunfpm9eb6`(`title` ASC) USING BTREE,
568 INDEX `IDX6r5kh6i4awpdlytjmm06pk22k`(`sub_title` ASC) USING BTREE,
569 INDEX `IDXd2j3h8td7682cctkv5o77b33y`(`promotion_policy_id` ASC) USING BTREE,
570 CONSTRAINT `fk_torrents_category` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT,
571 CONSTRAINT `fk_torrents_promotion_policy` FOREIGN KEY (`promotion_policy_id`) REFERENCES `promotion_policies` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT,
572 CONSTRAINT `fk_torrents_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT
573) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
574
575-- ----------------------------
576-- Records of torrents
577-- ----------------------------
578INSERT INTO `torrents` VALUES (7, '499e9c69e90b976c5c84542cf9b88fad1e12ef1c', 1, 'example torrent title', 'subtitle here', 66194, '2025-06-04 03:41:27', '2025-06-04 03:41:27', 0, 0, 1, 1, '演示种子');
579INSERT INTO `torrents` VALUES (8, 'f45775564c88b5a2782a301d162e1d4811b0b6d5', 1, 'example torrent title', 'subtitle here', 231105, '2025-06-04 05:20:37', '2025-06-04 05:20:37', 0, 0, 1, 1, '演示种子');
580INSERT INTO `torrents` VALUES (9, '8e10c9daa1b5fb18dc5b0e73988808ba958391fa', 1, 'example torrent title', 'subtitle here', 426155, '2025-06-04 06:03:49', '2025-06-04 06:03:49', 0, 0, 1, 1, '演示种子');
581INSERT INTO `torrents` VALUES (10, '1e3275f54ec074af2d99828311d4a8488eb7a487', 1, 'example torrent title', 'subtitle here', 13861694, '2025-06-04 06:10:23', '2025-06-04 06:10:23', 0, 0, 1, 1, '演示种子');
582
583-- ----------------------------
584-- Table structure for torrents_tag
585-- ----------------------------
586DROP TABLE IF EXISTS `torrents_tag`;
587CREATE TABLE `torrents_tag` (
588 `torrent_id` bigint NOT NULL,
589 `tag_id` bigint NOT NULL,
590 PRIMARY KEY (`torrent_id`, `tag_id`) USING BTREE,
591 INDEX `fk_torrents_tag_tag`(`tag_id` ASC) USING BTREE,
592 CONSTRAINT `fk_torrents_tag_tag` FOREIGN KEY (`tag_id`) REFERENCES `tags` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,
593 CONSTRAINT `fk_torrents_tag_torrent` FOREIGN KEY (`torrent_id`) REFERENCES `torrents` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
594) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
595
596-- ----------------------------
597-- Records of torrents_tag
598-- ----------------------------
599INSERT INTO `torrents_tag` VALUES (7, 9);
600INSERT INTO `torrents_tag` VALUES (8, 9);
601INSERT INTO `torrents_tag` VALUES (9, 9);
602INSERT INTO `torrents_tag` VALUES (10, 9);
603
604-- ----------------------------
605-- Table structure for transfer_history
606-- ----------------------------
607DROP TABLE IF EXISTS `transfer_history`;
608CREATE TABLE `transfer_history` (
609 `id` bigint NOT NULL AUTO_INCREMENT,
610 `user_id` bigint NOT NULL,
611 `torrent_id` bigint NOT NULL,
612 `to_go` bigint NOT NULL,
613 `started_at` timestamp NOT NULL,
614 `updated_at` timestamp NOT NULL,
615 `uploaded` bigint NOT NULL,
616 `downloaded` bigint NOT NULL,
617 `actual_uploaded` bigint NOT NULL,
618 `actual_downloaded` bigint NOT NULL,
619 `upload_speed` bigint NOT NULL,
620 `download_speed` bigint NOT NULL,
621 `last_event` enum('started','completed','stopped','paused','unknown') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
622 `have_complete_history` tinyint(1) NOT NULL,
623 PRIMARY KEY (`id`) USING BTREE,
624 UNIQUE INDEX `uk_user_torrent`(`user_id` ASC, `torrent_id` ASC) USING BTREE,
625 UNIQUE INDEX `UKrm5p4xv3rb2vm6psql5je94jh`(`user_id` ASC, `torrent_id` ASC) USING BTREE,
626 INDEX `fk_transfer_torrent`(`torrent_id` ASC) USING BTREE,
627 CONSTRAINT `fk_transfer_torrent` FOREIGN KEY (`torrent_id`) REFERENCES `torrents` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
628 CONSTRAINT `fk_transfer_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
629) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
630
631-- ----------------------------
632-- Records of transfer_history
633-- ----------------------------
634INSERT INTO `transfer_history` VALUES (1, 1, 7, 66194, '2025-06-04 04:43:30', '2025-06-04 05:21:25', 0, 0, 0, 0, 0, 0, 'completed', 1);
635INSERT INTO `transfer_history` VALUES (2, 1, 10, 0, '2025-06-04 06:11:31', '2025-06-04 06:13:21', 27723388, 0, 0, 27723388, 0, 77874, 'started', 1);
636
637-- ----------------------------
638-- Table structure for user_groups
639-- ----------------------------
640DROP TABLE IF EXISTS `user_groups`;
641CREATE TABLE `user_groups` (
642 `id` bigint NOT NULL AUTO_INCREMENT,
643 `slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
644 `display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
645 `promotion_policy_id` bigint NULL DEFAULT NULL,
646 PRIMARY KEY (`id`) USING BTREE,
647 UNIQUE INDEX `uk_user_groups_slug`(`slug` ASC) USING BTREE,
648 UNIQUE INDEX `UKkkje1jbmrkam1k7jbd39homw0`(`slug` ASC) USING BTREE,
649 INDEX `fk_user_groups_promotion_policy`(`promotion_policy_id` ASC) USING BTREE,
650 CONSTRAINT `fk_user_groups_promotion_policy` FOREIGN KEY (`promotion_policy_id`) REFERENCES `promotion_policies` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
651) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
652
653-- ----------------------------
654-- Records of user_groups
655-- ----------------------------
656INSERT INTO `user_groups` VALUES (1, 'default', '默认用户组', 1);
657INSERT INTO `user_groups` VALUES (2, 'vip', '活跃用户组', 2);
658
659-- ----------------------------
660-- Table structure for user_groups_permission_entities
661-- ----------------------------
662DROP TABLE IF EXISTS `user_groups_permission_entities`;
663CREATE TABLE `user_groups_permission_entities` (
664 `user_group_id` bigint NOT NULL,
665 `permission_entities_id` bigint NOT NULL,
666 PRIMARY KEY (`user_group_id`, `permission_entities_id`) USING BTREE,
667 UNIQUE INDEX `UK_95j9uaq96bvd9ykn0sngywks6`(`permission_entities_id` ASC) USING BTREE,
668 CONSTRAINT `fk_ugpe_permission` FOREIGN KEY (`permission_entities_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,
669 CONSTRAINT `fk_ugpe_user_group` FOREIGN KEY (`user_group_id`) REFERENCES `user_groups` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
670) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
671
672-- ----------------------------
673-- Records of user_groups_permission_entities
674-- ----------------------------
675INSERT INTO `user_groups_permission_entities` VALUES (1, 1);
676INSERT INTO `user_groups_permission_entities` VALUES (1, 2);
677INSERT INTO `user_groups_permission_entities` VALUES (1, 3);
678INSERT INTO `user_groups_permission_entities` VALUES (1, 4);
679INSERT INTO `user_groups_permission_entities` VALUES (1, 5);
680INSERT INTO `user_groups_permission_entities` VALUES (1, 6);
681INSERT INTO `user_groups_permission_entities` VALUES (1, 7);
682INSERT INTO `user_groups_permission_entities` VALUES (1, 8);
683INSERT INTO `user_groups_permission_entities` VALUES (1, 9);
684
685-- ----------------------------
686-- Table structure for users
687-- ----------------------------
688DROP TABLE IF EXISTS `users`;
689CREATE TABLE `users` (
690 `id` bigint NOT NULL AUTO_INCREMENT,
691 `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
692 `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
693 `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
694 `group_id` bigint NULL DEFAULT NULL,
695 `passkey` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
696 `create_at` timestamp NOT NULL,
697 `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
698 `custom_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
699 `signature` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
700 `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
701 `download_bandwidth` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
702 `upload_bandwidth` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
703 `downloaded` bigint NOT NULL,
704 `uploaded` bigint NOT NULL,
705 `real_downloaded` bigint NOT NULL,
706 `real_uploaded` bigint NOT NULL,
707 `isp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
708 `karma` decimal(19, 2) NOT NULL,
709 `invite_slot` int NOT NULL,
710 `seeding_time` bigint NOT NULL,
711 `personal_access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
712 `privacy_level` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
713 PRIMARY KEY (`id`) USING BTREE,
714 UNIQUE INDEX `uk_users_username`(`username` ASC) USING BTREE,
715 UNIQUE INDEX `uk_users_email`(`email` ASC) USING BTREE,
716 UNIQUE INDEX `uk_users_passkey`(`passkey` ASC) USING BTREE,
717 UNIQUE INDEX `UKr43af9ap4edm43mmtq01oddj6`(`username` ASC) USING BTREE,
718 UNIQUE INDEX `UK6dotkott2kjsp8vw4d0m25fb7`(`email` ASC) USING BTREE,
719 UNIQUE INDEX `UK402sx6cqgk66uwt7eyf54tmij`(`passkey` ASC) USING BTREE,
720 INDEX `fk_users_group`(`group_id` ASC) USING BTREE,
721 CONSTRAINT `fk_users_group` FOREIGN KEY (`group_id`) REFERENCES `user_groups` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
722) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
723
724-- ----------------------------
725-- Records of users
726-- ----------------------------
727INSERT INTO `users` VALUES (1, 'testuser@example.com', '$2a$06$JqvHpC94mnN23uwmZX0XHeuyFj3M22Ikw8VBZRopfrlWbPfA4KREu', 'testuser', 1, '47050e8f-f3fd-4a9c-a828-0e0de456691f', '2025-06-03 11:34:08', 'https://www.baidu.com/facivon.ico', '测试用户', '这个用户很懒,还没有个性签名', 'zh-CN', '100mbps', '100mbps', 0, 27723388, 27723388, 0, '未知', 0.00, 0, 30790068, '948c9146-ff5f-4ad6-8ba5-d32e1209cafd', '0');
728
729SET FOREIGN_KEY_CHECKS = 1;
730
731-- ----------------------------
732-- Records of chat_messages
733-- ----------------------------
734DROP TABLE IF EXISTS `chat_messages`;
735CREATE TABLE chat_messages (
736 id BIGINT AUTO_INCREMENT PRIMARY KEY,
737 room_id BIGINT NOT NULL,
738 user_id BIGINT NOT NULL,
739 content TEXT NOT NULL,
740 created_at DATETIME NOT NULL
741);