#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pymysql
import uuid
from datetime import datetime

# 데이터베이스 연결 설정
DB_CONFIG = {
    'host': 'officialsite.kr',
    'port': 23306,
    'user': 'admin',
    'password': 'dlgks~123',
    'database': 'app_master',
    'charset': 'utf8mb4'
}

# 게임 데이터
games_data = {
    # 1. 호불호
    'honbulho': {
        'intro': {
            'title': '호불호 밸런스 - 입문편',
            'questions': [
                ['민트초코 아이스크림 🍫🌿', '바닐라 아이스크림 🍦'],
                ['파인애플 피자 🍍🍕', '고구마 피자 🍠🍕'],
                ['고수 듬뿍 쌀국수 🌿🍜', '고수 없는 쌀국수 🍜'],
                ['마라탕 🌶️🍲', '짜장면 🍜'],
                ['단짠치킨 🍗', '순살양념치킨 🍗'],
                ['붕어빵 팥 ❤️', '슈크림 💛'],
                ['소금빵 🧂', '크루아상 🥐'],
                ['탄산수 🫧', '콜라 🥤']
            ]
        },
        'debate': {
            'title': '호불호 밸런스 - 논쟁편',
            'questions': [
                ['회덮밥 🍚', '비빔밥 🥗'],
                ['라멘 🍜', '우동 🍲'],
                ['불닭볶음면 🔥', '까르보불닭 🧀'],
                ['초코 🍫', '바닐라 🍦'],
                ['커피 ☕', '차 🍵'],
                ['팥빙수 🍧', '망고빙수 🥭'],
                ['순대에 소금 🧂', '초장 🥢']
            ]
        },
        'life': {
            'title': '호불호 밸런스 - 생활편',
            'questions': [
                ['아침형 인간 🌅', '밤형 인간 🌙'],
                ['샤워는 아침 🛁', '밤 🌃'],
                ['케첩 감자튀김 🍟', '마요 감자튀김 🍟'],
                ['아이폰 📱', '갤럭시 📱'],
                ['겨울 패딩 ❄️', '여름 반팔 ☀️'],
                ['향수 뿌리는 편 🌸', '무향 선호 🙅‍♀️'],
                ['스마트워치 ⌚', '아날로그 시계 🕰️']
            ]
        },
        'extreme': {
            'title': '호불호 밸런스 - 극강편',
            'questions': [
                ['고양이 🐱', '강아지 🐶'],
                ['영화관 팝콘 단맛 🍿', '짠맛 🍿'],
                ['드라마 📺', '예능 🎤'],
                ['여행은 계획형 🗓️', '즉흥형 🎲'],
                ['SNS 자주 올림 📱', '거의 안 올림 🙈'],
                ['한식 🇰🇷', '양식 🍝'],
                ['샤브샤브 🥩', '삼겹살 🍖'],
                ['아이스 아메리카노 🧊', '따뜻한 라떼 ☕']
            ]
        },
        'real': {
            'title': '호불호 밸런스 - 찐편',
            'questions': [
                ['향신료 듬뿍 음식 🌶️', '깔끔한 음식 🍙'],
                ['민트초코치약 향 ❄️', '레몬향 치약 🍋'],
                ['밥보다 빵 🍞', '빵보다 밥 🍚'],
                ['짠 거 🧂', '단 거 🍯'],
                ['물냉면 🧊', '비빔냉면 🌶️'],
                ['치킨무 필수 🥒', '치킨무 불호 🚫'],
                ['노트북 💻', '태블릿 📱'],
                ['자취 🏠', '본가생활 🏡'],
                ['낮잠 필수 💤', '하루종일 깨어있기 ☀️'],
                ['드라마 정주행 📺', '한 회씩 끊어보기 ▶️']
            ]
        }
    },

    # 2. 커플
    'couple': {
        'intro': {
            'title': '커플 밸런스 - 입문편',
            'questions': [
                ['매일 연락하는 커플 📱', '가끔만 연락해도 편한 커플 😌'],
                ['애인에게 애칭 부르기 🐰', '이름 그대로 부르기 😎'],
                ['데이트는 영화관 🎬', '카페 ☕'],
                ['커플룩 찬성 👕', '커플룩 절대 반대 🙅‍♀️'],
                ['SNS에 연애 공개 💑', '비공개 💬'],
                ['애정 표현 많은 스타일 💋', '쿨하고 담백한 스타일 😐']
            ]
        },
        'debate': {
            'title': '커플 밸런스 - 생활편',
            'questions': [
                ['애인이 늦게 자는 올빼미형 🌙', '아침형 인간 🌅'],
                ['기념일 챙기기 철저 🎂', '기념일 가볍게 🎈'],
                ['데이트는 즉흥적으로 🎢', '미리 계획 세우기 📅'],
                ['주말엔 만나기 💕', '각자 휴식 🛋️'],
                ['선물은 직접 고르기 🎁', '서프라이즈 받기 🎉'],
                ['연락은 긴 전화 📞', '짧은 톡 💬']
            ]
        },
        'life': {
            'title': '커플 밸런스 - 논쟁편',
            'questions': [
                ['애인 휴대폰 비밀번호 공유 O 🔓', '비공개 X 🔒'],
                ['친구 異성 친구랑 단둘이 밥 가능 🍽️', '절대 불가 🚫'],
                ['싸움 났을 때 먼저 사과 💬', '먼저 기다림 ⏳'],
                ['연락 안 되는 애인 6시간 🕕', '하루 🕐'],
                ['연애 중 전 애인 이야기 괜찮다 😅', '완전 금지 ❌'],
                ['커플 간 각자 돈 관리 💸', '공동통장 📊']
            ]
        },
        'extreme': {
            'title': '커플 밸런스 - 극강편',
            'questions': [
                ['성격 잘 맞지만 재미없는 사람 🙂', '자주 싸우지만 끌리는 사람 🔥'],
                ['애인의 전 애인과 같은 회사 근무 😬', '애인 전 애인과 친구 관계 😳'],
                ['1년에 한 번 해외여행 커플 ✈️', '매주 소소한 데이트 커플 🏞️'],
                ['애인이 갑자기 SNS 끊음 📵', '애인이 나 몰래 부계정 운영 🤔'],
                ['장거리 연애 🌏', '매일 보는 캠퍼스 커플 🏫'],
                ['애인이 내 생일 깜빡함 😶', '애인이 내 기념일 선물 맘에 안 듦 😑']
            ]
        },
        'real': {
            'title': '커플 밸런스 - 찐편',
            'questions': [
                ['사랑은 타이밍 ⏰', '사랑은 노력 💪'],
                ['이상형이 더 중요', '현실 궁합이 더 중요'],
                ['애인과 100% 솔직해야 한다 🤝', '적당히 숨길 줄 알아야 한다 😌'],
                ['오래가는 연애 ❤️', '강렬한 단기 연애 🔥'],
                ['결혼은 사랑 우선 💍', '안정 우선 🏠'],
                ['나와 다른 가치관 존중 가능 🙏', '맞아야 오래 간다 🤷‍♀️']
            ]
        }
    },

    # 3. 직장인
    'worker': {
        'intro': {
            'title': '직장인 밸런스 - 입문편',
            'questions': [
                ['커피 마시며 출근 ☕', '에너지드링크로 출근 ⚡'],
                ['출근송 듣기 🎧', '뉴스 들으면서 출근 🗞️'],
                ['점심은 회사 식당 🍱', '회사 근처 맛집 🍜'],
                ['칼퇴하는 동료 👍', '야근하는 모범생 💪'],
                ['금요일 퇴근 후 집 🏠', '약속 자리 🍻'],
                ['회사 단톡방 조용히 보기 👀', '이모티콘 리액션 적극형 😆']
            ]
        },
        'debate': {
            'title': '직장인 밸런스 - 생활편',
            'questions': [
                ['상사 칭찬 듣기 🙌', '동료와 점심 수다 🍛'],
                ['회의는 짧고 굵게 ⚡', '길지만 디테일하게 📋'],
                ['월요일이 두렵다 😩', '금요일이 기다려진다 😁'],
                ['회사 근처 카페 ☕', '사무실 커피머신 ☕'],
                ['출근 시간 늦게 시작 🕘', '퇴근 시간 빨리 끝 🕕'],
                ['사무실 온도 싸움 ❄️', '음악 플레이리스트 싸움 🎶']
            ]
        },
        'life': {
            'title': '직장인 밸런스 - 논쟁편',
            'questions': [
                ['조용한 팀 분위기 🤫', '활기찬 팀 분위기 😆'],
                ['효율 중시 🧠', '과정 중시 💬'],
                ['점심시간 혼밥 🍙', '단체식사 🍛'],
                ['회식은 꼭 참석해야 한다 🤝', '선택 참석 자유 🕺'],
                ['상사와의 거리감 — 선은 지키자 ⚖️', '편하게 지내자 💬'],
                ['회사 복지 중요 💸', '성장 환경 중요 🚀']
            ]
        },
        'extreme': {
            'title': '직장인 밸런스 - 극강편',
            'questions': [
                ['연봉 높고 스트레스 큰 회사 💰🔥', '연봉 낮지만 여유 있는 회사 🌿'],
                ['야근 없이 매일 출근 🏢', '주4일제지만 잦은 업무량 💻'],
                ['추진력 강한 부하직원 ⚡', '협업 좋은 부하직원 🤝'],
                ['회의 때 발언 많은 타입 🗣️', '조용히 메모하는 타입 📝'],
                ['출근길 10분 🚶', '사무실 최고 시설 🏢'],
                ['직장 내 연애 💘', '절대 금지 🚫']
            ]
        },
        'real': {
            'title': '직장인 밸런스 - 찐편',
            'questions': [
                ['일은 인생의 수단 💼', '일은 나의 정체성 ✨'],
                ['워라밸 우선 🕰️', '커리어 우선 📈'],
                ['좋아하는 일 하지만 불안정 😅', '안정적인 일 하지만 재미없음 😐'],
                ['팀 목표 우선 ⚙️', '개인 목표 우선 🧭'],
                ['인정받지 못해도 내가 만족하면 된다 🫶', '남의 인정이 동기부여다 💬'],
                ['직장 바꾸기 쉽다 ✈️', '한 회사 오래 다니기 중요하다 🏢']
            ]
        }
    },

    # 4. 티키타카
    'tmi': {
        'intro': {
            'title': '티키타카 밸런스 - 입문편',
            'questions': [
                ['톡 답장은 바로 ✅', '늦게 천천히 😎'],
                ['대화 중 리액션 "ㅋㅋㅋ" 😂', '"ㅇㅇ" 😐'],
                ['짧고 센스있는 대답 💬', '길고 진심 가득한 대답 ✨'],
                ['대화 이어가기 리드형 🗣️', '상대가 던지는 거 받기형 🙋‍♀️'],
                ['밈 짤로 대화 🤣', '진지한 말투로 대화 🗨️'],
                ['공감 "헐" 🙀', '공감 "아 ㅋㅋㅋ" 😆']
            ]
        },
        'debate': {
            'title': '티키타카 밸런스 - 생활편',
            'questions': [
                ['친구 고민 얘기할 때 조언 먼저 🧠', '들어주기 먼저 👂'],
                ['대화 중 침묵 3초 🤫', '계속 이어지는 잡담 💭'],
                ['아침 인사 필수 🙋‍♀️', '필요할 때만 말하기 🙌'],
                ['회식 자리에서 분위기 메이커 🎤', '리스너 역할 🎧'],
                ['톡 이모티콘 많이 쓰는 편 🐰', '거의 안 쓰는 편 🙃'],
                ['농담 자주 하는 친구 😜', '진지한 친구 😇']
            ]
        },
        'life': {
            'title': '티키타카 밸런스 - 논쟁편',
            'questions': [
                ['"팩트로 말하기" 🧾', '"기분 먼저 고려하기" 💞'],
                ['화났을 때 바로 말하기 🔥', '시간 두고 말하기 ⏳'],
                ['싸움 후 바로 풀기 🤝', '잠깐 거리 두기 🚶‍♂️'],
                ['단체 톡방 활발하게 참여 📱', '읽고만 있음 👀'],
                ['감정 표현 많은 스타일 😭😆', '속으로 삼키는 스타일 😶'],
                ['말보다 행동이 중요 💪', '말이 먼저다 💬']
            ]
        },
        'extreme': {
            'title': '티키타카 밸런스 - 극강편',
            'questions': [
                ['나는 주로 듣는 타입 👂', '주로 말하는 타입 🗣️'],
                ['진심인데 오해받는 스타일 😔', '가벼운데 호감 받는 스타일 😏'],
                ['친구가 나보다 말 많을 때 편함 😄', '불편함 😬'],
                ['직설적인 사람 ❤️', '에둘러 말하는 사람 🌸'],
                ['대화 중 상대가 계속 핸드폰 봄 📱', '계속 끼어듦 🗣️'],
                ['내 얘기 공감해주는 사람 ❤️', '조용히 들어주는 사람 💭']
            ]
        },
        'real': {
            'title': '티키타카 밸런스 - 찐편',
            'questions': [
                ['말 잘하는 게 센스다 💡', '잘 들어주는 게 센스다 👂'],
                ['진심이면 말이 없어도 통한다 💫', '말해야 통한다 🗨️'],
                ['오해받지 않으려면 솔직해야 한다 🤝', '상황 따라 조심해야 한다 ⚖️'],
                ['내 스타일은 — 이성적 대화형 🧠', '감정적 공감형 💞'],
                ['관계를 유지하려면 — 대화가 많아야 한다 💬', '믿음이면 충분하다 🪷'],
                ['나를 이해해주는 한마디 ❤️', '나를 대신 웃겨주는 한마디 😂']
            ]
        }
    },

    # 5. 가치관
    'value': {
        'intro': {
            'title': '가치관 밸런스 - 입문편',
            'questions': [
                ['인생은 즐겁게 🎈', '인생은 계획대로 📅'],
                ['일찍 자는 게 미덕 🌙', '밤 감성도 필요 🌌'],
                ['감정 표현 솔직히 💬', '분위기 깨지 않게 참기 😶'],
                ['하루 중 가장 중요한 시간 — 아침 🌅', '밤 🌃'],
                ['일은 돈 💸', '성취감 🏆'],
                ['혼자만의 시간 🧘', '사람들과 함께 👯‍♀️']
            ]
        },
        'debate': {
            'title': '가치관 밸런스 - 생활편',
            'questions': [
                ['즉흥형 🎢', '계획형 📋'],
                ['문제 생기면 바로 해결 🔧', '일단 상황 지켜보기 ⏳'],
                ['남 눈치 보지만 예의 지킴 🙇‍♀️', '내 기분 우선 🙆‍♀️'],
                ['소소한 행복 ☕', '큰 성공 🚀'],
                ['꾸준함이 중요 📅', '한방이 중요 💥'],
                ['현실적인 목표 🎯', '이상적인 꿈 🌈']
            ]
        },
        'life': {
            'title': '가치관 밸런스 - 논쟁편',
            'questions': [
                ['효율이 중요 ⚙️', '감성이 중요 💞'],
                ['친구는 많을수록 좋다 👥', '몇 명만 깊게 👤'],
                ['인생에서 중요한 건 운 🍀', '노력 💪'],
                ['실패는 경험이다 💡', '실패는 손해다 💸'],
                ['선한 거짓말 🤥', '차가운 진실 💬'],
                ['행복은 타인과 함께 😊', '나 혼자서도 충분 🙌']
            ]
        },
        'extreme': {
            'title': '가치관 밸런스 - 극강편',
            'questions': [
                ['안정적인 삶 🏠', '도전적인 삶 🧭'],
                ['사람은 변한다 🔄', '본질은 안 변한다 🪞'],
                ['돈이 나를 지켜준다 💰', '사람이 나를 지켜준다 🫶'],
                ['지금의 행복 🌼', '미래의 성공 🌟'],
                ['일보다 가족 ❤️', '가족보다 자기실현 💼'],
                ['관계는 노력으로 유지된다 🤝', '자연스럽게 이어져야 한다 🌿']
            ]
        },
        'real': {
            'title': '가치관 밸런스 - 찐편',
            'questions': [
                ['운명은 정해져 있다 ✨', '내가 만들어간다 💪'],
                ['세상은 공평하다 ⚖️', '세상은 불공평하다 🌍'],
                ['인생은 배우는 과정 📖', '인생은 즐기는 순간 🎢'],
                ['나를 지키는 게 중요 🧱', '남을 이해하는 게 중요 🌷'],
                ['완벽하지 않아도 괜찮다 🙏', '완벽을 향해 나아가야 한다 🔥'],
                ['나는 지금의 나로 충분하다 🌿', '더 나은 내가 되고 싶다 🚀']
            ]
        }
    },

    # 6. 추구미
    'preference': {
        'intro': {
            'title': '추구미 밸런스 - 입문편',
            'questions': [
                ['햇살 드는 카페 ☕', '조명 어두운 바 🍷'],
                ['바다 바라보기 🌊', '산속 산책 🌲'],
                ['드라마 몰아보기 📺', '유튜브 짧게 보기 🎬'],
                ['커피 향 ☕', '꽃 향기 🌸'],
                ['종이책 📖', '전자책 📱'],
                ['노트 필기 감성 ✍️', '디지털 정리 효율 🧠']
            ]
        },
        'debate': {
            'title': '추구미 밸런스 - 생활편',
            'questions': [
                ['주말엔 집콕 🛋️', '나들이 🚶‍♀️'],
                ['아침형 인간 🌅', '밤 감성 인간 🌙'],
                ['식사 후 커피 ☕', '디저트 🍰'],
                ['운동으로 스트레스 해소 🏃', '쇼핑으로 해소 🛍️'],
                ['여행은 즉흥적으로 ✈️', '계획 세워서 📋'],
                ['방 꾸미기 인테리어 취미 🪞', '맛집 탐방 취미 🍜']
            ]
        },
        'life': {
            'title': '추구미 밸런스 - 논쟁편',
            'questions': [
                ['효율적인 삶 ⚙️', '여유로운 삶 🍃'],
                ['혼자 있는 시간 ❤️', '사람들과의 시간 👥'],
                ['미니멀리즘 🧺', '맥시멀리즘 🪩'],
                ['집에서 홈카페 ☕', '밖에서 카페 투어 🏙️'],
                ['일찍 자고 일찍 일어나기 🌄', '늦게 자고 여유롭게 시작 🌙'],
                ['SNS로 기록하기 📸', '머릿속에만 담아두기 💭']
            ]
        },
        'extreme': {
            'title': '추구미 밸런스 - 극강편',
            'questions': [
                ['새로운 경험이 중요한 인생 ✨', '익숙한 일상의 안정 🌤️'],
                ['돈보다 시간의 여유 💰⏳', '시간보다 돈의 여유 🕒💵'],
                ['완벽한 하루 계획표 📅', '하고 싶은 대로 흘러가는 하루 🎈'],
                ['현실 감성파 🌿', '이상 감성파 🌈'],
                ['일상 속 작은 기쁨 ☕', '큰 목표 달성의 짜릿함 🏆'],
                ['혼자 여행하기 ✈️', '함께 여행하기 🚗']
            ]
        },
        'real': {
            'title': '추구미 밸런스 - 찐편',
            'questions': [
                ['지금 행복이 중요 🌼', '미래 행복이 중요 🌠'],
                ['안정된 삶 🏠', '자유로운 삶 🪶'],
                ['느림의 미학 🌾', '속도의 미학 ⚡'],
                ['나다운 삶 🌿', '사회가 인정하는 삶 🏆'],
                ['완벽보다 진심 💫', '진심보다 결과 📊'],
                ['행복은 목표다 🎯', '행복은 과정이다 🌷']
            ]
        }
    },

    # 7. 이상형
    'ideal_type': {
        'intro': {
            'title': '이상형 밸런스 - 입문편',
            'questions': [
                ['귀엽상 🐰', '섹시상 🔥'],
                ['말 많고 유쾌한 사람 😆', '조용하고 포근한 사람 😊'],
                ['장발 ✨', '단발 💇‍♀️'],
                ['깔끔한 스타일 👕', '자유분방한 스타일 🧢'],
                ['무쌍 눈 👁️', '쌍꺼풀 눈 👁️‍🗨️'],
                ['키 크고 다정한 사람 💗', '키 작고 센스있는 사람 💫']
            ]
        },
        'debate': {
            'title': '이상형 밸런스 - 생활편',
            'questions': [
                ['매일 연락 📱', '생각날 때만 연락 💬'],
                ['데이트는 카페☕', '야외 피크닉 🌳'],
                ['기념일 꼬박꼬박 챙기는 타입 🎂', '즉흥적으로 놀러가는 타입 🎢'],
                ['매번 먼저 연락하는 사람 💌', '먼저 연락받는 사람 📞'],
                ['일찍 자는 사람 🌙', '새벽 감성 공유하는 사람 🌌'],
                ['같은 취미 즐기는 커플 🎮', '각자 취미 존중 커플 🎨']
            ]
        },
        'life': {
            'title': '이상형 밸런스 - 논쟁편',
            'questions': [
                ['스킨십 빠른 연애 💋', '감정 먼저 확인 💞'],
                ['사랑 표현 많은 타입 💬', '묵직한 행동파 💪'],
                ['질투 많은 사람 😤', '쿨한 사람 😎'],
                ['나를 리드하는 사람 🧭', '내가 리드하는 사람 🎯'],
                ['데이트는 비싼 레스토랑 🍷', '소박한 밥집 🍚'],
                ['애인과 SNS 공개 💑', '비공개 연애 🙈']
            ]
        },
        'extreme': {
            'title': '이상형 밸런스 - 극강편',
            'questions': [
                ['완벽하지만 차가운 사람 ❄️', '서툴지만 따뜻한 사람 🔥'],
                ['표현은 서툴지만 믿음직한 사람 🧱', '달콤하지만 불안한 사람 🍬'],
                ['애인이 바빠서 자주 못 만나기 ⏰', '연락은 자주하지만 무뚝뚝 😶'],
                ['외모 10점💎 성격 5점😶', '외모 5점🙂 성격 10점💖'],
                ['1년에 한 번 여행✈️', '매주 짧은 데이트☕'],
                ['첫눈에 반한 사랑 💘', '천천히 쌓이는 사랑 🌷']
            ]
        },
        'real': {
            'title': '이상형 밸런스 - 찐편',
            'questions': [
                ['사랑은 타이밍 ⏰', '사랑은 노력 💪'],
                ['나에게 맞는 사람 ❤️', '내가 맞춰가고 싶은 사람 💞'],
                ['이상형은 현실이다 🏠', '이상형은 판타지다 🌈'],
                ['연애는 서로의 성장 🧭', '연애는 힐링 💆‍♀️'],
                ['안정적인 사랑 🌿', '자극적인 사랑 🔥'],
                ['진짜 이상형은 "대화가 통하는 사람" 🗣️', '"나를 이해해주는 사람" 💭']
            ]
        }
    },

    # 8. 랜덤
    'random': {
        'intro': {
            'title': '랜덤 밸런스 - 현실 vs 판타지',
            'questions': [
                ['하루 동안 투명인간 🫥', '하루 동안 순간이동 ✈️'],
                ['생각이 들리는 능력 🧠', '상대의 진심을 알 수 있는 능력 💬'],
                ['평생 돈 걱정 없음 💰', '평생 사랑 걱정 없음 💞'],
                ['타임머신 타기 ⏳', '평행세계 가보기 🌌'],
                ['내가 만든 밈이 전세계 유행 😂', '내가 만든 노래가 세계 1위 🎵']
            ]
        },
        'debate': {
            'title': '랜덤 밸런스 - 일상 극단 선택',
            'questions': [
                ['평생 아침밥만 먹기 🍳', '평생 저녁만 먹기 🍛'],
                ['평생 치킨 금지 🍗', '평생 커피 금지 ☕'],
                ['여름 내내 겨울 옷 ❄️', '겨울 내내 반팔 ☀️'],
                ['에어컨 없는 여름 🫠', '난방 없는 겨울 🥶'],
                ['스마트폰 없이 일주일 📵', '인터넷 없이 하루 🌐']
            ]
        },
        'life': {
            'title': '랜덤 밸런스 - 뇌정지 유발형',
            'questions': [
                ['평생 "ㅋㅋㅋ" 못 쓰기 😂', '평생 "ㅎ" 못 쓰기 😅'],
                ['물 2L 한 번에 마시기 💧', '2일 동안 물 금지 🚫'],
                ['평생 한 음식만 🍕', '매 끼니 새 음식 🍣'],
                ['대중교통에서 큰소리로 통화하는 사람 🚇', '밥 먹을 때 쩝쩝대는 사람 🍜'],
                ['방금 샀는데 분실 🫠', '안 샀는데 결제됨 💳']
            ]
        },
        'extreme': {
            'title': '랜덤 밸런스 - 인간관계',
            'questions': [
                ['말을 너무 많이 하는 친구 🗣️', '말이 너무 없는 친구 🤫'],
                ['리액션 과한 사람 🤪', '반응 없는 사람 😐'],
                ['매사 긍정적인 사람 🌞', '현실적인 사람 🌫️'],
                ['나한테 잔소리 많은 사람 💢', '나 무시하는 사람 😶‍🌫️'],
                ['하루 종일 같이 있고 싶지만 피곤한 친구 😵', '하루 한마디만 하지만 편한 친구 😌']
            ]
        },
        'real': {
            'title': '랜덤 밸런스 - 철학적 랜덤',
            'questions': [
                ['운명은 정해져 있다 🌌', '운명은 내가 만든다 🧭'],
                ['완벽한 하루 1번 ✨', '평범하지만 행복한 하루 100번 🌿'],
                ['모두에게 사랑받지만 진심은 없음 💬', '진심이지만 오해받음 💔'],
                ['과거로 돌아가 한 가지 바꾸기 ⏰', '미래로 가서 한 가지 보기 🔮'],
                ['나를 잊은 세상 🌫️', '내가 세상을 잊은 하루 ☁️']
            ]
        }
    }
}


def seed_balance_games():
    """게임 데이터를 데이터베이스에 삽입"""
    conn = None
    try:
        # MySQL 연결
        print('🔗 Connecting to MySQL database...')
        conn = pymysql.connect(**DB_CONFIG)
        cursor = conn.cursor()
        print('✅ MySQL database connected successfully\n')

        # system 사용자 확인 및 생성
        print('👤 Checking system user...')
        cursor.execute("SELECT id FROM users WHERE id = 'system'")
        if not cursor.fetchone():
            print('  Creating system user...')
            cursor.execute(
                """INSERT INTO users
                   (id, social_id, login_type, app_name, name)
                   VALUES ('system', 'system', 'kakao', 'balancepick', 'System')"""
            )
            conn.commit()
            print('  ✅ System user created')
        else:
            print('  ✅ System user already exists')

        print('\n🎮 Starting Balance Pick games seeding...')

        total_games = 0
        total_questions = 0

        # 각 카테고리별 게임 삽입
        for category_id, difficulties in games_data.items():
            print(f'\n📦 Seeding {category_id} games...')

            for difficulty_id, game_data in difficulties.items():
                # 게임 ID 생성
                game_id = f"{category_id}-{difficulty_id}-{int(datetime.now().timestamp())}"

                # 게임 삽입 (status='approved', device_serial='system' 필수)
                cursor.execute(
                    """INSERT INTO balancepick_games
                       (id, title, category_id, difficulty_id, user_id, device_serial, is_public, status)
                       VALUES (%s, %s, %s, %s, 'system', 'system', TRUE, 'approved')""",
                    (game_id, game_data['title'], category_id, difficulty_id)
                )

                total_games += 1
                print(f"  ✅ Created game: {game_data['title']}")

                # 질문 삽입
                for i, (choice_a, choice_b) in enumerate(game_data['questions'], 1):
                    question_id = f"{game_id}-q{i}"

                    cursor.execute(
                        """INSERT INTO balancepick_questions
                           (id, game_id, question_text, choice_a_text, choice_b_text, order_index)
                           VALUES (%s, %s, NULL, %s, %s, %s)""",
                        (question_id, game_id, choice_a, choice_b, i)
                    )

                    total_questions += 1

                print(f"     📝 Added {len(game_data['questions'])} questions")

        # 커밋
        conn.commit()

        print(f'\n🎉 Seeding completed successfully!')
        print(f'   📊 Total games: {total_games}')
        print(f'   📝 Total questions: {total_questions}')

    except Exception as error:
        print(f'❌ Error seeding games: {error}')
        if conn:
            conn.rollback()
        raise
    finally:
        if conn:
            conn.close()
            print('\n✨ Database connection closed')


if __name__ == '__main__':
    import traceback
    try:
        seed_balance_games()
        print('\n✨ All done! Games have been seeded to the database.')
    except Exception as e:
        print(f'\n❌ Failed to seed games: {e}')
        print('\n상세 에러 정보:')
        traceback.print_exc()
