import os
import sys

import mysql.connector
from dotenv import load_dotenv


def main():
    load_dotenv()

    conn = mysql.connector.connect(
        host=os.getenv("DB_HOST"),
        user=os.getenv("DB_USER"),
        password=os.getenv("DB_PASSWORD"),
        port=int(os.getenv("DB_PORT", "3306")),
        database=os.getenv("DB_NAME"),
        charset="utf8mb4",
    )

    try:
        cursor = conn.cursor()
        cursor.execute(
            """
            SELECT COLUMN_NAME
            FROM INFORMATION_SCHEMA.COLUMNS
            WHERE TABLE_SCHEMA = DATABASE()
              AND TABLE_NAME = 'oneroll_ad_settings'
              AND COLUMN_NAME = 'storage_cdn_domain'
            """
        )

        if cursor.fetchone() is None:
            cursor.execute(
                """
                ALTER TABLE oneroll_ad_settings
                ADD COLUMN storage_cdn_domain VARCHAR(255) DEFAULT ''
                """
            )
            print("Added storage_cdn_domain column to oneroll_ad_settings")
        else:
            print("storage_cdn_domain column already exists")

        conn.commit()
        print("Migration completed successfully")
    finally:
        conn.close()


if __name__ == "__main__":
    try:
        main()
    except Exception as exc:
        print(f"Migration failed: {exc}")
        sys.exit(1)
