UPDATE: Added more complete test queries, fixed recommendations queries
This commit is contained in:
Binary file not shown.
@@ -1,12 +1,4 @@
|
|||||||
-- Sample data for categories
|
-- Sample Data for users
|
||||||
INSERT INTO categories (category_name) VALUES
|
|
||||||
('Gaming'),
|
|
||||||
('Music'),
|
|
||||||
('Art'),
|
|
||||||
('Education'),
|
|
||||||
('Sports');
|
|
||||||
|
|
||||||
-- Sample data for users
|
|
||||||
INSERT INTO users (username, password, email, num_followers, stream_key, is_partnered, bio, current_stream_title, current_selected_category_id) VALUES
|
INSERT INTO users (username, password, email, num_followers, stream_key, is_partnered, bio, current_stream_title, current_selected_category_id) VALUES
|
||||||
('GamerDude', 'password123', 'gamerdude@example.com', 500, '1234', 0, 'Streaming my gaming adventures!', 'Epic Gaming Session', 1),
|
('GamerDude', 'password123', 'gamerdude@example.com', 500, '1234', 0, 'Streaming my gaming adventures!', 'Epic Gaming Session', 1),
|
||||||
('MusicLover', 'music4life', 'musiclover@example.com', 1200, '2345', 0, 'I share my favorite tunes.', 'Live Music Jam', 2),
|
('MusicLover', 'music4life', 'musiclover@example.com', 1200, '2345', 0, 'I share my favorite tunes.', 'Live Music Jam', 2),
|
||||||
@@ -14,15 +6,11 @@ INSERT INTO users (username, password, email, num_followers, stream_key, is_part
|
|||||||
('EduGuru', 'learn123', 'eduguru@example.com', 800, '4567', 0, 'Teaching everything I know.', 'Math Made Easy', 4),
|
('EduGuru', 'learn123', 'eduguru@example.com', 800, '4567', 0, 'Teaching everything I know.', 'Math Made Easy', 4),
|
||||||
('SportsStar', 'sports123', 'sportsstar@example.com', 2000, '5678', 0, 'Join me for live sports updates!', 'Sports Highlights', 5);
|
('SportsStar', 'sports123', 'sportsstar@example.com', 2000, '5678', 0, 'Join me for live sports updates!', 'Sports Highlights', 5);
|
||||||
|
|
||||||
-- Sample data for streams
|
INSERT INTO users (username, password, email, num_followers, stream_key, is_partnered, bio) VALUES
|
||||||
INSERT INTO streams (user_id, title, start_time, num_viewers, isLive, vod_id, category_id) VALUES
|
('GamerDude2', 'password123', 'gamerdude3@gmail.com', 3200, '7890', 0, 'Streaming my gaming adventures!'),
|
||||||
(1, 'Epic Gaming Session', '2025-01-25 18:00:00', 150, 1, NULL, 1),
|
('dev', 'scrypt:32768:8:1$avr94c5cplosNUDc$f2ba0738080facada51a1ed370bf869199e121e547fe64a7094ef0330b5db2ab7fff87700898729977f4cd24f17c17b9e8c0c93e7241dcdf9aa522d5d1732626', 'dev@gmail.com', 1, '8080', 0, 'A test account to save that tedious signup each time!');
|
||||||
(2, 'Live Music Jam', '2025-01-25 20:00:00', 350, 1, NULL, 2),
|
|
||||||
(3, 'Sketching Live', '2025-01-24 15:00:00', 80, 0, 201, 3),
|
|
||||||
(4, 'Math Made Easy', '2025-01-23 10:00:00', 400, 0, 202, 4),
|
|
||||||
(5, 'Sports Highlights', '2025-01-25 12:00:00', 500, 1, NULL, 5);
|
|
||||||
|
|
||||||
-- Sample data for follows
|
-- Sample Data for follows
|
||||||
INSERT INTO follows (user_id, followed_id, since) VALUES
|
INSERT INTO follows (user_id, followed_id, since) VALUES
|
||||||
(1, 2, '2024-12-01'),
|
(1, 2, '2024-12-01'),
|
||||||
(2, 3, '2024-11-15'),
|
(2, 3, '2024-11-15'),
|
||||||
@@ -30,7 +18,7 @@ INSERT INTO follows (user_id, followed_id, since) VALUES
|
|||||||
(4, 5, '2024-09-12'),
|
(4, 5, '2024-09-12'),
|
||||||
(5, 1, '2024-08-30');
|
(5, 1, '2024-08-30');
|
||||||
|
|
||||||
-- Sample data for user_preferences
|
-- Sample Data for user_preferences
|
||||||
INSERT INTO user_preferences (user_id, category_id, favourability) VALUES
|
INSERT INTO user_preferences (user_id, category_id, favourability) VALUES
|
||||||
(1, 1, 10),
|
(1, 1, 10),
|
||||||
(2, 2, 9),
|
(2, 2, 9),
|
||||||
@@ -38,32 +26,65 @@ INSERT INTO user_preferences (user_id, category_id, favourability) VALUES
|
|||||||
(4, 4, 7),
|
(4, 4, 7),
|
||||||
(5, 5, 10);
|
(5, 5, 10);
|
||||||
|
|
||||||
-- Sample data for subscribes
|
-- Sample Data for subscribes
|
||||||
INSERT INTO subscribes (user_id, subscribed_id, since, expires) VALUES
|
INSERT INTO subscribes (user_id, subscribed_id, since, expires) VALUES
|
||||||
(1, 101, '2024-12-01', '2025-01-01'),
|
(1, 2, '2024-12-01', '2025-01-01'),
|
||||||
(2, 102, '2024-11-15', '2025-02-15'),
|
(2, 3, '2024-11-15', '2025-02-15'),
|
||||||
(3, 103, '2024-10-20', '2025-01-20'),
|
(3, 4, '2024-10-20', '2025-01-20'),
|
||||||
(4, 104, '2024-09-12', '2025-01-12'),
|
(4, 5, '2024-09-12', '2025-01-12'),
|
||||||
(5, 105, '2024-08-30', '2025-02-28');
|
(5, 1, '2024-08-30', '2025-02-28');
|
||||||
|
|
||||||
INSERT INTO users (username, password, email, num_followers, stream_key, is_partnered, bio) VALUES
|
-- Sample Data for followed_categories
|
||||||
('GamerDude2', 'password123', 'gamerdude3@gmail.com', 3200, '7890', 0, 'Streaming my gaming adventures!'),
|
INSERT INTO followed_categories (user_id, category_id) VALUES
|
||||||
('dev', 'scrypt:32768:8:1$avr94c5cplosNUDc$f2ba0738080facada51a1ed370bf869199e121e547fe64a7094ef0330b5db2ab7fff87700898729977f4cd24f17c17b9e8c0c93e7241dcdf9aa522d5d1732626', 'dev@gmail.com', 1, '8080', 0, 'A test account to save that tedious signup each time!');
|
(1, 1),
|
||||||
|
(2, 2),
|
||||||
|
(3, 3),
|
||||||
|
(4, 4),
|
||||||
|
(5, 5);
|
||||||
|
|
||||||
|
-- Sample Data for categories
|
||||||
|
INSERT INTO categories (category_name) VALUES
|
||||||
|
('Gaming'),
|
||||||
|
('Music'),
|
||||||
|
('Art'),
|
||||||
|
('Education'),
|
||||||
|
('Sports');
|
||||||
|
|
||||||
|
-- Sample Data for streams
|
||||||
|
INSERT INTO streams (user_id, title, start_time, num_viewers, isLive, vod_id, category_id) VALUES
|
||||||
|
(1, 'Epic Gaming Session', '2025-01-25 18:00:00', 150, 1, NULL, 1),
|
||||||
|
(2, 'Live Music Jam', '2025-01-25 20:00:00', 350, 1, NULL, 2),
|
||||||
|
(3, 'Sketching Live', '2025-01-24 15:00:00', 80, 0, 201, 3),
|
||||||
|
(4, 'Math Made Easy', '2025-01-23 10:00:00', 400, 0, 202, 4),
|
||||||
|
(5, 'Sports Highlights', '2025-01-25 12:00:00', 500, 1, NULL, 5);
|
||||||
|
|
||||||
|
-- Sample Data for tags
|
||||||
|
INSERT INTO tags(tag_name) VALUES
|
||||||
|
('English'),
|
||||||
|
('Gaming'),
|
||||||
|
('LGBTQIA+');
|
||||||
|
|
||||||
|
-- Sample Data for stream_tags
|
||||||
|
INSERT INTO stream_tags (stream_id, tag_id) VALUES
|
||||||
|
(1, 3),
|
||||||
|
(1, 1),
|
||||||
|
(2, 1),
|
||||||
|
(2, 2);
|
||||||
|
|
||||||
|
-- Sample Data for chat
|
||||||
INSERT INTO chat (stream_id, chatter_id, message) VALUES
|
INSERT INTO chat (stream_id, chatter_id, message) VALUES
|
||||||
(1, 'Susan', 'Hey Every, loving the stream'),
|
(1, 1, 'Hey everyone, loving the stream!'),
|
||||||
(1, 'Susan', 'This stream is crazy man'),
|
(1, 1, 'This stream is crazy man'),
|
||||||
(1, 'JohnnyHash', 'Woah, cannot believe that');
|
(1, 2, 'Woah, cannot believe that');
|
||||||
|
|
||||||
SELECT * FROM users;
|
SELECT name FROM sqlite_master WHERE type='table';
|
||||||
SELECT * FROM follows;
|
|
||||||
SELECT * FROM user_preferences;
|
|
||||||
SELECT * FROM subscribes;
|
|
||||||
SELECT * FROM categories;
|
|
||||||
SELECT * FROM streams;
|
|
||||||
SELECT * FROM chat;
|
|
||||||
SELECT * FROM tags;
|
|
||||||
SELECT * FROM stream_tags;
|
|
||||||
|
|
||||||
-- To see all tables in the database
|
|
||||||
SELECT name FROM sqlite_master WHERE type='table';
|
SELECT s.stream_id, s.title, u.username, s.num_viewers, c.category_name
|
||||||
|
FROM streams AS s
|
||||||
|
JOIN users AS u ON u.user_id = s.user_id
|
||||||
|
JOIN categories AS c ON s.category_id = c.category_id
|
||||||
|
JOIN followed_categories AS f ON s.category_id = c.category_id
|
||||||
|
WHERE f.user_id = 1
|
||||||
|
ORDER BY s.num_viewers DESC
|
||||||
|
LIMIT 25;
|
||||||
@@ -27,10 +27,11 @@ def followed_categories_recommendations(user_id : int):
|
|||||||
FROM streams AS s
|
FROM streams AS s
|
||||||
JOIN users AS u ON u.user_id = s.user_id
|
JOIN users AS u ON u.user_id = s.user_id
|
||||||
JOIN categories AS c ON s.category_id = c.category_id
|
JOIN categories AS c ON s.category_id = c.category_id
|
||||||
JOIN followed_categories AS f ON s.category_id = f.category_id
|
JOIN followed_categories AS f ON s.category_id = c.category_id
|
||||||
WHERE f.user_id = ?
|
WHERE f.user_id = ?
|
||||||
ORDER BY s.num_viewers DESC
|
ORDER BY s.num_viewers DESC
|
||||||
LIMIT 25;
|
LIMIT 25;
|
||||||
|
|
||||||
""", (user_id,))
|
""", (user_id,))
|
||||||
return categories
|
return categories
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user