|
| 1 | +-- ============================================================================ |
| 2 | +-- FantasyRealm Character Manager - Seed Data |
| 3 | +-- PostgreSQL 15+ |
| 4 | +-- ============================================================================ |
| 5 | + |
| 6 | +-- ============================================================================ |
| 7 | +-- ROLES |
| 8 | +-- ============================================================================ |
| 9 | +INSERT INTO role (label) VALUES |
| 10 | + ('user'), |
| 11 | + ('employee'), |
| 12 | + ('admin'); |
| 13 | + |
| 14 | +-- ============================================================================ |
| 15 | +-- ADMIN USER |
| 16 | +-- Password: Admin123! (BCrypt hash) |
| 17 | +-- ============================================================================ |
| 18 | +INSERT INTO "user" (pseudo, email, password_hash, role_id) VALUES |
| 19 | + ('admin', 'admin@fantasyrealm.com', '$2a$11$rBVcQ4z4.vYZ3mQlJXqKaeKxNJqX5vYxJqKqYQ5ZJ8z5X5X5X5X5q', (SELECT id FROM role WHERE label = 'admin')); |
| 20 | + |
| 21 | +-- ============================================================================ |
| 22 | +-- EMPLOYEE USER (for testing moderation) |
| 23 | +-- Password: Employee123! |
| 24 | +-- ============================================================================ |
| 25 | +INSERT INTO "user" (pseudo, email, password_hash, role_id) VALUES |
| 26 | + ('moderator', 'moderator@fantasyrealm.com', '$2a$11$rBVcQ4z4.vYZ3mQlJXqKaeKxNJqX5vYxJqKqYQ5ZJ8z5X5X5X5X5q', (SELECT id FROM role WHERE label = 'employee')); |
| 27 | + |
| 28 | +-- ============================================================================ |
| 29 | +-- TEST USERS |
| 30 | +-- Password: Test123! |
| 31 | +-- ============================================================================ |
| 32 | +INSERT INTO "user" (pseudo, email, password_hash, role_id) VALUES |
| 33 | + ('player_one', 'player1@test.com', '$2a$11$rBVcQ4z4.vYZ3mQlJXqKaeKxNJqX5vYxJqKqYQ5ZJ8z5X5X5X5X5q', (SELECT id FROM role WHERE label = 'user')), |
| 34 | + ('dragon_slayer', 'player2@test.com', '$2a$11$rBVcQ4z4.vYZ3mQlJXqKaeKxNJqX5vYxJqKqYQ5ZJ8z5X5X5X5X5q', (SELECT id FROM role WHERE label = 'user')), |
| 35 | + ('mystic_mage', 'player3@test.com', '$2a$11$rBVcQ4z4.vYZ3mQlJXqKaeKxNJqX5vYxJqKqYQ5ZJ8z5X5X5X5X5q', (SELECT id FROM role WHERE label = 'user')); |
| 36 | + |
| 37 | +-- ============================================================================ |
| 38 | +-- ARTICLES - Clothing |
| 39 | +-- ============================================================================ |
| 40 | +INSERT INTO article (name, type, image) VALUES |
| 41 | + ('Apprentice Robe', 'clothing', NULL), |
| 42 | + ('Leather Tunic', 'clothing', NULL), |
| 43 | + ('Noble Vest', 'clothing', NULL), |
| 44 | + ('Traveler Cloak', 'clothing', NULL), |
| 45 | + ('Silk Dress', 'clothing', NULL); |
| 46 | + |
| 47 | +-- ============================================================================ |
| 48 | +-- ARTICLES - Armor |
| 49 | +-- ============================================================================ |
| 50 | +INSERT INTO article (name, type, image) VALUES |
| 51 | + ('Iron Chestplate', 'armor', NULL), |
| 52 | + ('Steel Helmet', 'armor', NULL), |
| 53 | + ('Dragon Scale Armor', 'armor', NULL), |
| 54 | + ('Mithril Chainmail', 'armor', NULL), |
| 55 | + ('Guardian Shield', 'armor', NULL); |
| 56 | + |
| 57 | +-- ============================================================================ |
| 58 | +-- ARTICLES - Weapons |
| 59 | +-- ============================================================================ |
| 60 | +INSERT INTO article (name, type, image) VALUES |
| 61 | + ('Iron Sword', 'weapon', NULL), |
| 62 | + ('Oak Staff', 'weapon', NULL), |
| 63 | + ('Elven Bow', 'weapon', NULL), |
| 64 | + ('Battle Axe', 'weapon', NULL), |
| 65 | + ('Enchanted Dagger', 'weapon', NULL); |
| 66 | + |
| 67 | +-- ============================================================================ |
| 68 | +-- ARTICLES - Accessories |
| 69 | +-- ============================================================================ |
| 70 | +INSERT INTO article (name, type, image) VALUES |
| 71 | + ('Ruby Amulet', 'accessory', NULL), |
| 72 | + ('Silver Ring', 'accessory', NULL), |
| 73 | + ('Leather Belt', 'accessory', NULL), |
| 74 | + ('Explorer Backpack', 'accessory', NULL), |
| 75 | + ('Golden Crown', 'accessory', NULL); |
| 76 | + |
| 77 | +-- ============================================================================ |
| 78 | +-- TEST CHARACTERS (authorized and shared for gallery demo) |
| 79 | +-- ============================================================================ |
| 80 | +INSERT INTO character (name, gender, skin_color, eye_color, hair_color, eye_shape, nose_shape, mouth_shape, is_shared, is_authorized, user_id) VALUES |
| 81 | + ('Thorin', 'male', '#E8BEAC', '#4A90D9', '#2C1810', 'almond', 'aquiline', 'thin', TRUE, TRUE, (SELECT id FROM "user" WHERE pseudo = 'player_one')), |
| 82 | + ('Elara', 'female', '#F5DEB3', '#50C878', '#FFD700', 'round', 'straight', 'full', TRUE, TRUE, (SELECT id FROM "user" WHERE pseudo = 'dragon_slayer')), |
| 83 | + ('Zephyr', 'male', '#8D5524', '#8B4513', '#000000', 'narrow', 'wide', 'medium', TRUE, TRUE, (SELECT id FROM "user" WHERE pseudo = 'mystic_mage')); |
| 84 | + |
| 85 | +-- ============================================================================ |
| 86 | +-- TEST CHARACTER (pending moderation) |
| 87 | +-- ============================================================================ |
| 88 | +INSERT INTO character (name, gender, skin_color, eye_color, hair_color, eye_shape, nose_shape, mouth_shape, is_shared, is_authorized, user_id) VALUES |
| 89 | + ('Shadow', 'male', '#3D2314', '#FF0000', '#1C1C1C', 'narrow', 'pointed', 'thin', FALSE, FALSE, (SELECT id FROM "user" WHERE pseudo = 'player_one')); |
| 90 | + |
| 91 | +-- ============================================================================ |
| 92 | +-- EQUIP ARTICLES TO CHARACTERS |
| 93 | +-- ============================================================================ |
| 94 | +INSERT INTO character_article (character_id, article_id) VALUES |
| 95 | + ((SELECT id FROM character WHERE name = 'Thorin'), (SELECT id FROM article WHERE name = 'Iron Chestplate')), |
| 96 | + ((SELECT id FROM character WHERE name = 'Thorin'), (SELECT id FROM article WHERE name = 'Iron Sword')), |
| 97 | + ((SELECT id FROM character WHERE name = 'Thorin'), (SELECT id FROM article WHERE name = 'Leather Belt')), |
| 98 | + ((SELECT id FROM character WHERE name = 'Elara'), (SELECT id FROM article WHERE name = 'Silk Dress')), |
| 99 | + ((SELECT id FROM character WHERE name = 'Elara'), (SELECT id FROM article WHERE name = 'Elven Bow')), |
| 100 | + ((SELECT id FROM character WHERE name = 'Elara'), (SELECT id FROM article WHERE name = 'Ruby Amulet')), |
| 101 | + ((SELECT id FROM character WHERE name = 'Zephyr'), (SELECT id FROM article WHERE name = 'Apprentice Robe')), |
| 102 | + ((SELECT id FROM character WHERE name = 'Zephyr'), (SELECT id FROM article WHERE name = 'Oak Staff')), |
| 103 | + ((SELECT id FROM character WHERE name = 'Zephyr'), (SELECT id FROM article WHERE name = 'Silver Ring')); |
| 104 | + |
| 105 | +-- ============================================================================ |
| 106 | +-- TEST COMMENTS (approved) |
| 107 | +-- ============================================================================ |
| 108 | +INSERT INTO comment (rating, text, status, character_id, author_id) VALUES |
| 109 | + (5, 'Amazing warrior design! Love the armor combo.', 'approved', (SELECT id FROM character WHERE name = 'Thorin'), (SELECT id FROM "user" WHERE pseudo = 'dragon_slayer')), |
| 110 | + (4, 'Beautiful elven character, very elegant!', 'approved', (SELECT id FROM character WHERE name = 'Elara'), (SELECT id FROM "user" WHERE pseudo = 'player_one')), |
| 111 | + (5, 'The mage aesthetic is perfect!', 'approved', (SELECT id FROM character WHERE name = 'Zephyr'), (SELECT id FROM "user" WHERE pseudo = 'dragon_slayer')); |
| 112 | + |
| 113 | +-- ============================================================================ |
| 114 | +-- TEST COMMENT (pending moderation) |
| 115 | +-- ============================================================================ |
| 116 | +INSERT INTO comment (rating, text, status, character_id, author_id) VALUES |
| 117 | + (3, 'Nice but could use more accessories.', 'pending', (SELECT id FROM character WHERE name = 'Thorin'), (SELECT id FROM "user" WHERE pseudo = 'mystic_mage')); |
0 commit comments