blob: 2018117baadcee2a57e2a179945b0ef6ca8e0bc9 [file] [log] [blame]
wuchimedes079c1632025-04-02 22:01:20 +08001CREATE TABLE IF NOT EXISTS `users` (
2 user_id INT AUTO_INCREMENT PRIMARY KEY,
3 user_name VARCHAR(255) NOT NULL,
4 password VARCHAR(255) NOT NULL,
5 email VARCHAR(255) NOT NULL UNIQUE
6);
7
8CREATE TABLE IF NOT EXISTS `torrents` (
9 torrent_id INT AUTO_INCREMENT PRIMARY KEY,
10 user_id INT NOT NULL,
11 torrent_name VARCHAR(255) NOT NULL,
wuchimedes223bfab2025-04-04 17:16:05 +080012 info_hash BINARY(20) NOT NULL,
wuchimedes079c1632025-04-02 22:01:20 +080013 file_size FLOAT NOT NULL,
wuchimedes079c1632025-04-02 22:01:20 +080014 FOREIGN KEY (user_id) REFERENCES users(user_id)
15);
16
17CREATE TABLE IF NOT EXISTS `peers` (
18 user_id INT NOT NULL,
wuchimedes223bfab2025-04-04 17:16:05 +080019 info_hash BINARY(20) NOT NULL,
20 peer_id VARCHAR(20) NOT NULL,
wuchimedes079c1632025-04-02 22:01:20 +080021 ip_address VARCHAR(128) NOT NULL,
22 port INT NOT NULL,
23 uploaded FLOAT NOT NULL,
24 downloaded FLOAT NOT NULL,
wuchimedes223bfab2025-04-04 17:16:05 +080025 last_seen TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
wuchimedes079c1632025-04-02 22:01:20 +080026 FOREIGN KEY (user_id) REFERENCES users(user_id),
wuchimedes223bfab2025-04-04 17:16:05 +080027 PRIMARY KEY (user_id, info_hash, peer_id)
wuchimedes079c1632025-04-02 22:01:20 +080028);