#!/usr/bin/env python3
"""
기존 balancepick_questions의 time_limit을 3초로 일괄 업데이트
한 번만 실행하면 됨
"""

import pymysql
from dotenv import load_dotenv
import os

# .env 파일 로드
load_dotenv(os.path.join(os.path.dirname(__file__), '..', '.env'))

def update_time_limit():
    conn = None
    try:
        conn = pymysql.connect(
            host=os.getenv('DB_HOST', 'officialsite.kr'),
            port=int(os.getenv('DB_PORT', 23306)),
            user=os.getenv('DB_USER', 'admin'),
            password=os.getenv('DB_PASSWORD', 'dlgks~123'),
            database=os.getenv('DB_NAME', 'app_master'),
            charset='utf8mb4'
        )

        cursor = conn.cursor()

        # 현재 상태 확인
        cursor.execute('SELECT COUNT(*) FROM balancepick_questions WHERE time_limit != 3')
        count = cursor.fetchone()[0]
        print(f'Update target: {count} questions')

        if count > 0:
            # time_limit을 3초로 업데이트
            cursor.execute('UPDATE balancepick_questions SET time_limit = 3 WHERE time_limit != 3')
            conn.commit()
            print(f'[OK] {cursor.rowcount} questions updated to time_limit=3')
        else:
            print('[OK] All questions already set to 3 seconds')

    except Exception as e:
        print(f'[ERROR] {e}')
        if conn:
            conn.rollback()
    finally:
        if conn:
            conn.close()

if __name__ == '__main__':
    update_time_limit()
