| 1 | import pg from 'pg';
|
|---|
| 2 |
|
|---|
| 3 | const seedSQL = `
|
|---|
| 4 | TRUNCATE TABLE
|
|---|
| 5 | suggestions,
|
|---|
| 6 | cooler_cpu_sockets,
|
|---|
| 7 | case_mobo_form_factors,
|
|---|
| 8 | case_ps_form_factors,
|
|---|
| 9 | case_storage_form_factors,
|
|---|
| 10 | build_component,
|
|---|
| 11 | favorite_build,
|
|---|
| 12 | rating_build,
|
|---|
| 13 | review,
|
|---|
| 14 | build,
|
|---|
| 15 | admins,
|
|---|
| 16 | users,
|
|---|
| 17 | network_card,
|
|---|
| 18 | network_adapter,
|
|---|
| 19 | cables,
|
|---|
| 20 | sound_card,
|
|---|
| 21 | optical_drive,
|
|---|
| 22 | memory_card,
|
|---|
| 23 | storage,
|
|---|
| 24 | motherboard,
|
|---|
| 25 | cooler,
|
|---|
| 26 | pc_case,
|
|---|
| 27 | power_supply,
|
|---|
| 28 | memory,
|
|---|
| 29 | gpu,
|
|---|
| 30 | cpu,
|
|---|
| 31 | components
|
|---|
| 32 | RESTART IDENTITY CASCADE;
|
|---|
| 33 |
|
|---|
| 34 | INSERT INTO users (username, password, email) VALUES
|
|---|
| 35 | ('tome', 'tg', 'tome.gjorgiev@gmail.com'),
|
|---|
| 36 | ('mihail', 'mn', 'mihail.naumov@gmail.com'),
|
|---|
| 37 | ('stefan', 'sv', 'stefan.velkovski@gmail.com'),
|
|---|
| 38 | ('admin', 'admin', 'admin@gmail.com'),
|
|---|
| 39 | ('pc_wizard', 'pw', 'wizard@gmail.com'),
|
|---|
| 40 | ('budget_king', 'bk', 'budget@gmail.com'),
|
|---|
| 41 | ('rgb_lover', 'rgb', 'rgblover@gmail.com'),
|
|---|
| 42 | ('streamer_pro', 'sp', 'streamer@gmail.com'),
|
|---|
| 43 | ('office_guy', 'og', 'office@gmail.com'),
|
|---|
| 44 | ('linux_fan', 'lf', 'linux@gmail.com'),
|
|---|
| 45 | ('first_timer', 'ft', 'noob@gmail.com');
|
|---|
| 46 |
|
|---|
| 47 | INSERT INTO admins (user_id) VALUES (4);
|
|---|
| 48 |
|
|---|
| 49 | INSERT INTO components (name, brand, price, type, img_url) VALUES
|
|---|
| 50 | ('Ryzen 5 5600X', 'AMD', 199.99, 'cpu', NULL),
|
|---|
| 51 | ('RTX 3060', 'NVIDIA', 329.99, 'gpu', NULL),
|
|---|
| 52 | ('16GB DDR4 Kit', 'Corsair', 79.99, 'memory', NULL),
|
|---|
| 53 | ('650W PSU', 'EVGA', 89.99, 'power_supply', NULL),
|
|---|
| 54 | ('Mid Tower Case', 'NZXT', 119.99, 'case', NULL),
|
|---|
| 55 | ('Air Cooler', 'Noctua', 69.99, 'cooler', NULL),
|
|---|
| 56 | ('B550 Motherboard', 'ASUS', 149.99, 'motherboard', NULL),
|
|---|
| 57 | ('1TB NVMe SSD', 'Samsung', 129.99, 'storage', NULL),
|
|---|
| 58 | ('Sound Card', 'Creative', 59.99, 'sound_card', NULL),
|
|---|
| 59 | ('Network Card', 'Intel', 39.99, 'network_card',NULL),
|
|---|
| 60 | ('Network Adapter', 'TP-Link', 29.99, 'network_adapter', NULL),
|
|---|
| 61 | ('Optical Drive', 'LG', 19.99, 'optical_drive', NULL),
|
|---|
| 62 | ('Memory Card', 'SanDisk', 15.99, 'memory_card', NULL),
|
|---|
| 63 | ('Cables Pack', 'Corsair', 9.99, 'cables', NULL),
|
|---|
| 64 | ('Ryzen 5 7600', 'AMD', 229.00, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 65 | ('Ryzen 7 7800X3D', 'AMD', 399.00, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 66 | ('Ryzen 9 7950X', 'AMD', 599.00, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 67 | ('Core i3-13100F', 'Intel', 119.99, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 68 | ('Core i5-13600K', 'Intel', 319.99, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 69 | ('Core i7-14700K', 'Intel', 409.99, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 70 | ('Core i9-14900KS', 'Intel', 689.99, 'cpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 71 | ('Radeon RX 6600', 'PowerColor', 199.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 72 | ('Radeon RX 7600', 'Sapphire', 269.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 73 | ('Radeon RX 7800 XT', 'XFX', 499.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 74 | ('Radeon RX 7900 XTX', 'Sapphire', 999.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 75 | ('GeForce RTX 3050', 'MSI', 229.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 76 | ('GeForce RTX 4060', 'Zotac', 299.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 77 | ('GeForce RTX 4070 Super', 'ASUS', 599.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 78 | ('GeForce RTX 4080 Super', 'Gigabyte', 999.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 79 | ('GeForce RTX 4090', 'NVIDIA', 1599.99, 'gpu', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 80 | ('B650M DS3H', 'Gigabyte', 149.99, 'motherboard', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 81 | ('X670E AORUS Master', 'Gigabyte', 459.99, 'motherboard', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 82 | ('B760M Bomber WiFi', 'MSI', 129.99, 'motherboard', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 83 | ('Z790 Maximus Hero', 'ASUS', 599.99, 'motherboard', 'https://placehold.co/400x400?text=GPU'),
|
|---|
| 84 | ('Vengeance LPX 16GB', 'Corsair', 39.99, 'memory', NULL),
|
|---|
| 85 | ('Ripjaws V 32GB', 'G.Skill', 69.99, 'memory', NULL),
|
|---|
| 86 | ('Trident Z5 RGB 32GB', 'G.Skill', 114.99, 'memory', NULL),
|
|---|
| 87 | ('Dominator Platinum 64GB', 'Corsair', 289.99, 'memory', NULL),
|
|---|
| 88 | ('Crucial P3 1TB', 'Crucial', 64.99, 'storage', NULL),
|
|---|
| 89 | ('WD Black SN850X 2TB', 'Western Digital', 159.99, 'storage', NULL),
|
|---|
| 90 | ('Samsung 990 Pro 4TB', 'Samsung', 349.99, 'storage', NULL),
|
|---|
| 91 | ('H5 Flow', 'NZXT', 94.99, 'case', NULL),
|
|---|
| 92 | ('4000D Airflow', 'Corsair', 104.99, 'case', NULL),
|
|---|
| 93 | ('O11 Dynamic Evo', 'Lian Li', 159.99, 'case', NULL),
|
|---|
| 94 | ('Versa H18', 'Thermaltake', 49.99, 'case', NULL),
|
|---|
| 95 | ('Smart 500W', 'Thermaltake', 39.99, 'power_supply', NULL),
|
|---|
| 96 | ('RM750e', 'Corsair', 99.99, 'power_supply', NULL),
|
|---|
| 97 | ('SuperNOVA 1000 GT', 'EVGA', 169.99, 'power_supply', NULL),
|
|---|
| 98 | ('Peerless Assassin 120 SE', 'Thermalright', 33.90, 'cooler', NULL),
|
|---|
| 99 | ('Kraken Elite 360', 'NZXT', 279.99, 'cooler', NULL);
|
|---|
| 100 |
|
|---|
| 101 | INSERT INTO cpu (component_id, socket, cores, threads, base_clock, boost_clock, tdp) VALUES
|
|---|
| 102 | (1, 'AM4', 6, 12, 3.7, 4.6, 65),
|
|---|
| 103 | ((SELECT id FROM components WHERE name='Ryzen 5 7600'), 'AM5', 6, 12, 3.8, 5.1, 65),
|
|---|
| 104 | ((SELECT id FROM components WHERE name='Ryzen 7 7800X3D'), 'AM5', 8, 16, 4.2, 5.0, 120),
|
|---|
| 105 | ((SELECT id FROM components WHERE name='Ryzen 9 7950X'), 'AM5', 16, 32, 4.5, 5.7, 170),
|
|---|
| 106 | ((SELECT id FROM components WHERE name='Core i3-13100F'), 'LGA1700', 4, 8, 3.4, 4.5, 58),
|
|---|
| 107 | ((SELECT id FROM components WHERE name='Core i5-13600K'), 'LGA1700', 14, 20, 3.5, 5.1, 125),
|
|---|
| 108 | ((SELECT id FROM components WHERE name='Core i7-14700K'), 'LGA1700', 20, 28, 3.4, 5.6, 125),
|
|---|
| 109 | ((SELECT id FROM components WHERE name='Core i9-14900KS'), 'LGA1700', 24, 32, 3.2, 6.2, 150);
|
|---|
| 110 |
|
|---|
| 111 | INSERT INTO gpu (component_id, vram, tdp, base_clock, boost_clock, chipset, length) VALUES
|
|---|
| 112 | (2, 12, 170, 1.32, 1.78, 'RTX 3060', 242),
|
|---|
| 113 | ((SELECT id FROM components WHERE name='Radeon RX 6600'), 8, 132, 2.0, 2.4, 'RX 6600', 200),
|
|---|
| 114 | ((SELECT id FROM components WHERE name='Radeon RX 7600'), 8, 165, 2.2, 2.6, 'RX 7600', 240),
|
|---|
| 115 | ((SELECT id FROM components WHERE name='Radeon RX 7800 XT'), 16, 263, 2.1, 2.4, 'RX 7800 XT', 280),
|
|---|
| 116 | ((SELECT id FROM components WHERE name='Radeon RX 7900 XTX'), 24, 355, 2.3, 2.5, 'RX 7900 XTX', 320),
|
|---|
| 117 | ((SELECT id FROM components WHERE name='GeForce RTX 3050'), 8, 130, 1.5, 1.7, 'RTX 3050', 200),
|
|---|
| 118 | ((SELECT id FROM components WHERE name='GeForce RTX 4060'), 8, 115, 1.8, 2.4, 'RTX 4060', 220),
|
|---|
| 119 | ((SELECT id FROM components WHERE name='GeForce RTX 4070 Super'), 12, 220, 1.9, 2.5, 'RTX 4070 S', 260),
|
|---|
| 120 | ((SELECT id FROM components WHERE name='GeForce RTX 4080 Super'), 16, 320, 2.2, 2.5, 'RTX 4080 S', 300),
|
|---|
| 121 | ((SELECT id FROM components WHERE name='GeForce RTX 4090'), 24, 450, 2.2, 2.5, 'RTX 4090', 340);
|
|---|
| 122 |
|
|---|
| 123 | INSERT INTO motherboard (component_id, socket, chipset, form_factor, ram_type, num_ram_slots, max_ram_capacity, pci_express_slots) VALUES
|
|---|
| 124 | (7, 'AM4', 'B550', 'ATX', 'DDR4', 4, 128, 3),
|
|---|
| 125 | ((SELECT id FROM components WHERE name='B650M DS3H'), 'AM5', 'B650', 'Micro-ATX', 'DDR5', 4, 128, 2),
|
|---|
| 126 | ((SELECT id FROM components WHERE name='X670E AORUS Master'), 'AM5', 'X670E', 'ATX', 'DDR5', 4, 192, 3),
|
|---|
| 127 | ((SELECT id FROM components WHERE name='B760M Bomber WiFi'), 'LGA1700', 'B760', 'Micro-ATX', 'DDR4', 2, 64, 1),
|
|---|
| 128 | ((SELECT id FROM components WHERE name='Z790 Maximus Hero'), 'LGA1700', 'Z790', 'ATX', 'DDR5', 4, 192, 3);
|
|---|
| 129 |
|
|---|
| 130 | INSERT INTO memory (component_id, type, speed, capacity, modules) VALUES
|
|---|
| 131 | (3, 'DDR4', 3200, 16, 2),
|
|---|
| 132 | ((SELECT id FROM components WHERE name='Vengeance LPX 16GB'), 'DDR4', 3200, 16, 2),
|
|---|
| 133 | ((SELECT id FROM components WHERE name='Ripjaws V 32GB'), 'DDR4', 3600, 32, 2),
|
|---|
| 134 | ((SELECT id FROM components WHERE name='Trident Z5 RGB 32GB'), 'DDR5', 6000, 32, 2),
|
|---|
| 135 | ((SELECT id FROM components WHERE name='Dominator Platinum 64GB'), 'DDR5', 6400, 64, 2);
|
|---|
| 136 |
|
|---|
| 137 | INSERT INTO storage (component_id, type, capacity, form_factor) VALUES
|
|---|
| 138 | (8, 'NVMe', 1000, 'M.2'),
|
|---|
| 139 | ((SELECT id FROM components WHERE name='Crucial P3 1TB'), 'NVMe', 1000, 'M.2'),
|
|---|
| 140 | ((SELECT id FROM components WHERE name='WD Black SN850X 2TB'), 'NVMe', 2000, 'M.2'),
|
|---|
| 141 | ((SELECT id FROM components WHERE name='Samsung 990 Pro 4TB'), 'NVMe', 4000, 'M.2');
|
|---|
| 142 |
|
|---|
| 143 | INSERT INTO pc_case (component_id, cooler_max_height, gpu_max_length) VALUES
|
|---|
| 144 | (5, 165, 300),
|
|---|
| 145 | ((SELECT id FROM components WHERE name='H5 Flow'), 165, 365),
|
|---|
| 146 | ((SELECT id FROM components WHERE name='4000D Airflow'), 170, 360),
|
|---|
| 147 | ((SELECT id FROM components WHERE name='O11 Dynamic Evo'), 167, 422),
|
|---|
| 148 | ((SELECT id FROM components WHERE name='Versa H18'), 155, 350);
|
|---|
| 149 |
|
|---|
| 150 | INSERT INTO case_mobo_form_factors (case_id, form_factor) VALUES
|
|---|
| 151 | (5, 'ATX'), (5, 'Micro-ATX');
|
|---|
| 152 |
|
|---|
| 153 | INSERT INTO power_supply (component_id, type, wattage, form_factor) VALUES
|
|---|
| 154 | (4, 'Modular', 650, 'ATX'),
|
|---|
| 155 | ((SELECT id FROM components WHERE name='Smart 500W'), 'Non-Modular', 500, 'ATX'),
|
|---|
| 156 | ((SELECT id FROM components WHERE name='RM750e'), 'Fully Modular', 750, 'ATX'),
|
|---|
| 157 | ((SELECT id FROM components WHERE name='SuperNOVA 1000 GT'), 'Fully Modular', 1000, 'ATX');
|
|---|
| 158 |
|
|---|
| 159 | INSERT INTO cooler (component_id, type, height, max_tdp_supported) VALUES
|
|---|
| 160 | (6, 'Air', 158, 150),
|
|---|
| 161 | ((SELECT id FROM components WHERE name='Peerless Assassin 120 SE'), 'Air', 155, 245),
|
|---|
| 162 | ((SELECT id FROM components WHERE name='Kraken Elite 360'), 'Liquid', 55, 300);
|
|---|
| 163 |
|
|---|
| 164 | INSERT INTO cooler_cpu_sockets (cooler_id, socket) VALUES
|
|---|
| 165 | (6, 'AM4'), (6, 'AM5');
|
|---|
| 166 |
|
|---|
| 167 | INSERT INTO sound_card (component_id, sample_rate, bit_depth, chipset, interface, channel) VALUES (9, 192000, 24, 'SoundCore', 'PCIe', '7.1');
|
|---|
| 168 | INSERT INTO network_card (component_id, num_ports, speed, interface) VALUES (10, 2, 1000, 'PCIe');
|
|---|
| 169 | INSERT INTO network_adapter (component_id, wifi_version, interface, num_antennas) VALUES (11, 'WiFi 6', 'PCIe', 3);
|
|---|
| 170 | INSERT INTO optical_drive (component_id, form_factor, type, interface, write_speed, read_speed) VALUES (12, '5.25"', 'DVD-RW', 'SATA', 16, 16);
|
|---|
| 171 | INSERT INTO memory_card (component_id, num_slots, interface) VALUES (13, 1, 'SD');
|
|---|
| 172 | INSERT INTO cables (component_id, length_cm, type) VALUES (14, 50, 'SATA');
|
|---|
| 173 |
|
|---|
| 174 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 175 | (1, 'Gaming Build', CURRENT_DATE, 'Mid-range gaming PC', 1139.92, TRUE);
|
|---|
| 176 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 177 | (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8);
|
|---|
| 178 |
|
|---|
| 179 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 180 | ((SELECT id FROM users WHERE username='budget_king'), 'Console Killer 2025', '2024-12-01', 'Cheap entry level gaming PC', 580.00, TRUE);
|
|---|
| 181 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 182 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='Core i3-13100F')),
|
|---|
| 183 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='Radeon RX 6600')),
|
|---|
| 184 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='B760M Bomber WiFi')),
|
|---|
| 185 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='Vengeance LPX 16GB')),
|
|---|
| 186 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='Crucial P3 1TB')),
|
|---|
| 187 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='Smart 500W')),
|
|---|
| 188 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM components WHERE name='Versa H18'));
|
|---|
| 189 |
|
|---|
| 190 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 191 | ((SELECT id FROM users WHERE username='streamer_pro'), 'Pro Streaming Rig', '2025-01-15', 'Handles OBS and 1440p gaming flawlessly', 2150.00, TRUE);
|
|---|
| 192 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 193 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='Core i7-14700K')),
|
|---|
| 194 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='GeForce RTX 4080 Super')),
|
|---|
| 195 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='Z790 Maximus Hero')),
|
|---|
| 196 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='Trident Z5 RGB 32GB')),
|
|---|
| 197 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='WD Black SN850X 2TB')),
|
|---|
| 198 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='SuperNOVA 1000 GT')),
|
|---|
| 199 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='H5 Flow')),
|
|---|
| 200 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM components WHERE name='Kraken Elite 360'));
|
|---|
| 201 |
|
|---|
| 202 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 203 | ((SELECT id FROM users WHERE username='pc_wizard'), 'Team Red Value King', '2025-02-10', 'Pure rasterization performance', 1450.00, TRUE);
|
|---|
| 204 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 205 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='Ryzen 7 7800X3D')),
|
|---|
| 206 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='Radeon RX 7800 XT')),
|
|---|
| 207 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='B650M DS3H')),
|
|---|
| 208 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='Trident Z5 RGB 32GB')),
|
|---|
| 209 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='Crucial P3 1TB')),
|
|---|
| 210 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='RM750e')),
|
|---|
| 211 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='4000D Airflow')),
|
|---|
| 212 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM components WHERE name='Peerless Assassin 120 SE'));
|
|---|
| 213 |
|
|---|
| 214 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 215 | ((SELECT id FROM users WHERE username='rgb_lover'), 'God Tier 4090 Build', '2025-03-01', 'Money is no object. 4K 144Hz Ultra.', 4200.00, TRUE);
|
|---|
| 216 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 217 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='Core i9-14900KS')),
|
|---|
| 218 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='GeForce RTX 4090')),
|
|---|
| 219 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='Z790 Maximus Hero')),
|
|---|
| 220 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='Dominator Platinum 64GB')),
|
|---|
| 221 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='Samsung 990 Pro 4TB')),
|
|---|
| 222 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='SuperNOVA 1000 GT')),
|
|---|
| 223 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='O11 Dynamic Evo')),
|
|---|
| 224 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM components WHERE name='Kraken Elite 360'));
|
|---|
| 225 |
|
|---|
| 226 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 227 | ((SELECT id FROM users WHERE username='first_timer'), 'Snow White Build', '2024-11-20', 'First time building, went for looks', 1199.00, TRUE);
|
|---|
| 228 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 229 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='Ryzen 5 7600')),
|
|---|
| 230 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='GeForce RTX 4070 Super')),
|
|---|
| 231 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='B650M DS3H')),
|
|---|
| 232 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='Trident Z5 RGB 32GB')),
|
|---|
| 233 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='Crucial P3 1TB')),
|
|---|
| 234 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='RM750e')),
|
|---|
| 235 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM components WHERE name='H5 Flow'));
|
|---|
| 236 |
|
|---|
| 237 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 238 | ((SELECT id FROM users WHERE username='linux_fan'), 'Arch Linux Dev Box', '2024-10-15', 'Compilation beast, no Nvidia drivers needed', 920.00, TRUE);
|
|---|
| 239 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 240 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='Core i5-13600K')),
|
|---|
| 241 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='Radeon RX 7600')),
|
|---|
| 242 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='B760M Bomber WiFi')),
|
|---|
| 243 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='Ripjaws V 32GB')),
|
|---|
| 244 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='Crucial P3 1TB')),
|
|---|
| 245 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='RM750e')),
|
|---|
| 246 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM components WHERE name='Versa H18'));
|
|---|
| 247 |
|
|---|
| 248 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 249 | ((SELECT id FROM users WHERE username='office_guy'), '1080p Gamer', '2025-01-05', 'Just for Fortnite and Apex', 810.00, TRUE);
|
|---|
| 250 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 251 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='Core i3-13100F')),
|
|---|
| 252 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='GeForce RTX 4060')),
|
|---|
| 253 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='B760M Bomber WiFi')),
|
|---|
| 254 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='Vengeance LPX 16GB')),
|
|---|
| 255 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='Crucial P3 1TB')),
|
|---|
| 256 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='Smart 500W')),
|
|---|
| 257 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM components WHERE name='Versa H18'));
|
|---|
| 258 |
|
|---|
| 259 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 260 | ((SELECT id FROM users WHERE username='pc_wizard'), 'Silent Night', '2024-12-25', 'Zero RPM fan mode build', 2450.00, TRUE);
|
|---|
| 261 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 262 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='Core i7-14700K')),
|
|---|
| 263 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='GeForce RTX 4080 Super')),
|
|---|
| 264 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='Z790 Maximus Hero')),
|
|---|
| 265 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='Trident Z5 RGB 32GB')),
|
|---|
| 266 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='WD Black SN850X 2TB')),
|
|---|
| 267 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='SuperNOVA 1000 GT')),
|
|---|
| 268 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='4000D Airflow')),
|
|---|
| 269 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM components WHERE name='Peerless Assassin 120 SE'));
|
|---|
| 270 |
|
|---|
| 271 | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) VALUES
|
|---|
| 272 | ((SELECT id FROM users WHERE username='rgb_lover'), 'Radeon Ultimate', '2025-03-10', '4K Gaming without Nvidia tax', 2850.00, TRUE);
|
|---|
| 273 | INSERT INTO build_component (build_id, component_id) VALUES
|
|---|
| 274 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='Ryzen 9 7950X')),
|
|---|
| 275 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='Radeon RX 7900 XTX')),
|
|---|
| 276 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='X670E AORUS Master')),
|
|---|
| 277 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='Dominator Platinum 64GB')),
|
|---|
| 278 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='Samsung 990 Pro 4TB')),
|
|---|
| 279 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='SuperNOVA 1000 GT')),
|
|---|
| 280 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='O11 Dynamic Evo')),
|
|---|
| 281 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM components WHERE name='Kraken Elite 360'));
|
|---|
| 282 |
|
|---|
| 283 | INSERT INTO rating_build (build_id, user_id, value) VALUES (1, 2, 5);
|
|---|
| 284 | INSERT INTO review (build_id, user_id, content, created_at) VALUES (1, 2, 'Still runs everything in 2025!', CURRENT_DATE);
|
|---|
| 285 |
|
|---|
| 286 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 287 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM users WHERE username='rgb_lover'), 3),
|
|---|
| 288 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM users WHERE username='pc_wizard'), 4);
|
|---|
| 289 | INSERT INTO review (build_id, user_id, content, created_at) VALUES
|
|---|
| 290 | ((SELECT id FROM build WHERE name='Console Killer 2025'), (SELECT id FROM users WHERE username='rgb_lover'), 'No RGB, 3 stars.', '2024-12-05');
|
|---|
| 291 |
|
|---|
| 292 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 293 | ((SELECT id FROM build WHERE name='Pro Streaming Rig'), (SELECT id FROM users WHERE username='pc_wizard'), 5);
|
|---|
| 294 |
|
|---|
| 295 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 296 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM users WHERE username='budget_king'), 5),
|
|---|
| 297 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM users WHERE username='first_timer'), 4);
|
|---|
| 298 | INSERT INTO review (build_id, user_id, content, created_at) VALUES
|
|---|
| 299 | ((SELECT id FROM build WHERE name='Team Red Value King'), (SELECT id FROM users WHERE username='budget_king'), 'Best FPS per dollar.', '2025-02-12');
|
|---|
| 300 |
|
|---|
| 301 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 302 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM users WHERE username='streamer_pro'), 5),
|
|---|
| 303 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM users WHERE username='budget_king'), 2);
|
|---|
| 304 | INSERT INTO review (build_id, user_id, content, created_at) VALUES
|
|---|
| 305 | ((SELECT id FROM build WHERE name='God Tier 4090 Build'), (SELECT id FROM users WHERE username='budget_king'), 'Waaaaay too much money.', '2025-03-05');
|
|---|
| 306 |
|
|---|
| 307 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 308 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM users WHERE username='rgb_lover'), 5),
|
|---|
| 309 | ((SELECT id FROM build WHERE name='Snow White Build'), (SELECT id FROM users WHERE username='office_guy'), 4);
|
|---|
| 310 |
|
|---|
| 311 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 312 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM users WHERE username='linux_fan'), 5),
|
|---|
| 313 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM users WHERE username='first_timer'), 1);
|
|---|
| 314 | INSERT INTO review (build_id, user_id, content, created_at) VALUES
|
|---|
| 315 | ((SELECT id FROM build WHERE name='Arch Linux Dev Box'), (SELECT id FROM users WHERE username='first_timer'), 'Could not install Windows easily.', '2024-10-20');
|
|---|
| 316 |
|
|---|
| 317 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 318 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM users WHERE username='streamer_pro'), 2),
|
|---|
| 319 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM users WHERE username='budget_king'), 3);
|
|---|
| 320 | INSERT INTO review (build_id, user_id, content, created_at) VALUES
|
|---|
| 321 | ((SELECT id FROM build WHERE name='1080p Gamer'), (SELECT id FROM users WHERE username='streamer_pro'), 'Stutters in Warzone.', '2025-01-10');
|
|---|
| 322 |
|
|---|
| 323 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 324 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM users WHERE username='rgb_lover'), 2),
|
|---|
| 325 | ((SELECT id FROM build WHERE name='Silent Night'), (SELECT id FROM users WHERE username='office_guy'), 5);
|
|---|
| 326 |
|
|---|
| 327 | INSERT INTO rating_build (build_id, user_id, value) VALUES
|
|---|
| 328 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM users WHERE username='pc_wizard'), 5),
|
|---|
| 329 | ((SELECT id FROM build WHERE name='Radeon Ultimate'), (SELECT id FROM users WHERE username='linux_fan'), 5);
|
|---|
| 330 |
|
|---|
| 331 | INSERT INTO suggestions (user_id, admin_id, link, admin_comment, description, status, component_type) VALUES
|
|---|
| 332 | (1, 4, 'https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4070-family/', NULL, 'Consider adding RTX 4070', 'pending', 'gpu');`
|
|---|
| 333 |
|
|---|
| 334 | async function main() {
|
|---|
| 335 | if (!process.env.DATABASE_URL) {
|
|---|
| 336 | throw new Error('DATABASE_URL environment variable not set');
|
|---|
| 337 | }
|
|---|
| 338 |
|
|---|
| 339 | const client = new pg.Client({
|
|---|
| 340 | connectionString: process.env.DATABASE_URL,
|
|---|
| 341 | });
|
|---|
| 342 |
|
|---|
| 343 | try {
|
|---|
| 344 | await client.connect();
|
|---|
| 345 |
|
|---|
| 346 | console.log('Checking if database needs seeding...');
|
|---|
| 347 |
|
|---|
| 348 | const result = await client.query('SELECT COUNT(*) as count FROM users');
|
|---|
| 349 | const count = parseInt(result.rows[0].count);
|
|---|
| 350 |
|
|---|
| 351 | if (count > 0) {
|
|---|
| 352 | console.log('Database already seeded, skipping...');
|
|---|
| 353 | return;
|
|---|
| 354 | }
|
|---|
| 355 |
|
|---|
| 356 | console.log('Seeding database...');
|
|---|
| 357 |
|
|---|
| 358 | await client.query(seedSQL);
|
|---|
| 359 |
|
|---|
| 360 | console.log('Database seeded successfully...');
|
|---|
| 361 | } catch (error) {
|
|---|
| 362 | console.error('Seed failed:', error);
|
|---|
| 363 | throw error;
|
|---|
| 364 | } finally {
|
|---|
| 365 | await client.end();
|
|---|
| 366 | }
|
|---|
| 367 | }
|
|---|
| 368 |
|
|---|
| 369 | main().catch((err) => {
|
|---|
| 370 | console.error(err);
|
|---|
| 371 | process.exit(1);
|
|---|
| 372 | }); |
|---|