import os
import mysql.connector
from mysql.connector import Error

# DB Configuration (env preferred)
DB_CONFIG = {
    "host": os.environ.get("DB_HOST", "officialsite.kr"),
    "port": int(os.environ.get("DB_PORT", "23306")),
    "user": os.environ.get("DB_USER", "admin"),
    "password": os.environ.get("DB_PASSWORD", "dlgks~123"),
    "database": os.environ.get("DB_NAME", "app_master"),
}


CREATE_TABLE = """
CREATE TABLE IF NOT EXISTS board_notice_last_seen (
  id INT AUTO_INCREMENT PRIMARY KEY,
  user_id VARCHAR(36) NOT NULL,
  board_id VARCHAR(36) NOT NULL,
  last_seen_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY unique_user_board (user_id, board_id),
  INDEX idx_user_id (user_id),
  INDEX idx_board_id (board_id),
  INDEX idx_last_seen_at (last_seen_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
"""


def run():
    conn = None
    cursor = None
    try:
        conn = mysql.connector.connect(**DB_CONFIG)
        cursor = conn.cursor()
        print("DB Connected")

        try:
            cursor.execute(CREATE_TABLE)
            conn.commit()
            print("OK: create board_notice_last_seen")
        except Error as e:
            raise

        print("\n=== board notice last seen migration completed ===")
    finally:
        if cursor is not None:
            cursor.close()
        if conn is not None and conn.is_connected():
            conn.close()
            print("DB connection closed")


if __name__ == "__main__":
    run()

