From 01ef5b1abdad9a62372be8543b1ccb4f851dc2a3 Mon Sep 17 00:00:00 2001 From: Bitha17 <16521076@mahasiswa.itb.ac.id> Date: Thu, 16 Nov 2023 01:19:04 +0700 Subject: [PATCH] chore: seeding --- db/data.php | 91 ++++++++++++++++++++++------------------------------- 1 file changed, 37 insertions(+), 54 deletions(-) diff --git a/db/data.php b/db/data.php index 2b8c7e4..bb66b00 100644 --- a/db/data.php +++ b/db/data.php @@ -6,34 +6,31 @@ if (isset($db)) { try { $db->beginTransaction(); - // Insert events and tickets as before - $sqlEvent = <<<EOF - INSERT INTO events (event_name, event_stock, event_price, event_date, event_location, gambar, vid) VALUES - ('Music Concert', 2, 20, '2023-09-30 10:00:00', 'jakarta', 'assets/images/1.jpg', 'assets/videos/video.mp4'), - ('Art Exhibition', 2, 15, '2023-10-05 15:30:00', 'prancis', 'assets/images/2.png', 'assets/videos/video.mp4'), - ('Sports Tournament', 2, 40, '2023-11-12 18:45:00', 'italy', 'assets/images/3.jpg', 'assets/videos/video.mp4'), - ('Comedy Show', 2, 30, '2023-12-03 20:00:00', 'jakarta', 'assets/images/4.jpg', 'assets/videos/video.mp4'), - ('Tech Conference', 2, 60, '2024-01-18 14:15:00', 'ITB', 'assets/images/5.jpg', 'assets/videos/video.mp4'); - EOF; - - $sqlTicket = <<<EOF - INSERT INTO tickets (ticket_name, event_id) VALUES - ('General Admission', 1), - ('VIP Pass', 1), - ('Standard Ticket', 2), - ('Student Discount', 2), - ('Early Bird Special', 3), - ('Premium Access', 3), - ('Weekend Pass', 4), - ('Group Discount', 4), - ('Conference Pass', 5), - ('Exhibitor Pass', 5); - EOF; - - $db->exec($sqlEvent); - $db->exec($sqlTicket); + // Generate and insert 10000 dummy events with random data + for ($i = 1; $i <= 10000; $i++) { + $eventName = "Event $i"; + $eventStock = rand(1, 10); + $eventPrice = rand(10, 100); + $eventDate = date('Y-m-d H:i:s', strtotime("+$i days")); + $eventLocation = "Location $i"; + $gambar = 'assets/images/' . ($i % 16 + 1) . '.jpg'; + $vid = 'assets/videos/video.mp4'; + + $sqlEvent = "INSERT INTO events (event_name, event_stock, event_price, event_date, event_location, gambar, vid) VALUES (?, ?, ?, ?, ?, ?, ?)"; + $stmtEvent = $db->prepare($sqlEvent); + $stmtEvent->execute([$eventName, $eventStock, $eventPrice, $eventDate, $eventLocation, $gambar, $vid]); + + // Generate and insert tickets corresponding to the event's event_stock + for ($j = 1; $j <= $eventStock; $j++) { + $ticketName = "Ticket $j for Event $i"; + $eventId = $i; // Get the last inserted event ID + $sqlTicket = "INSERT INTO tickets (ticket_name, event_id) VALUES (?, ?)"; + $stmtTicket = $db->prepare($sqlTicket); + $stmtTicket->execute([$ticketName, $eventId]); + } + } - // Dummy user data with hashed passwords + // Insert user data $userData = [ ['John Doe', 'john_doe', 'john@example.com', password_hash('password_1', PASSWORD_DEFAULT), 1], ['Jane Smith', 'jane_smith', 'jane@example.com', password_hash('password_2', PASSWORD_DEFAULT), 0], @@ -43,37 +40,23 @@ if (isset($db)) { ]; $sqlUser = "INSERT INTO users (user_name, username, user_email, user_hashedPass, isAdmin) VALUES (?, ?, ?, ?, ?)"; - $stmt = $db->prepare($sqlUser); + $stmtUser = $db->prepare($sqlUser); foreach ($userData as $user) { - $stmt->execute($user); + $stmtUser->execute($user); } - $stmt->closeCursor(); - - // // Insert pembelian data - // $sqlPembelian = <<<EOF - // INSERT INTO pembelian (ticket_id, user_id, pembelian_created_time) VALUES - // (1, 1, '2023-10-01 12:30:00'), - // (3, 2, '2023-10-06 16:15:00'), - // (2, 3, '2023-11-15 20:00:00'), - // (5, 4, '2023-12-05 10:45:00'), - // (8, 5, '2024-01-20 08:30:00'); - // EOF; - - // $db->exec($sqlPembelian); - - // Commit the transaction - $db->commit(); + // Commit the transaction + $db->commit(); - echo "Successfully inserted dummy data.<br/>"; - } catch (PDOException $e) { - $db->rollBack(); - echo "Error: " . $e->getMessage(); - } - } else { - echo "Error: Database connection not established."; - } + echo "Successfully inserted 10000 dummy events, corresponding tickets, and user data.<br/>"; + } catch (PDOException $e) { + $db->rollBack(); + echo "Error: " . $e->getMessage(); + } +} else { + echo "Error: Database connection not established."; +} - $db = null; +$db = null; ?> -- GitLab