"""migrate_006_edge_cases.py — seed 11 edge anchor categories còn lại"""
import os
import sys

sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")))
TABLE = "dashboard_canifa.chatbot_fashion_rules"

RULES = [
    # Áo Sơ mi BE TRAI
    ("be_trai","Áo Sơ mi",  "di_lam",  "bottom","Quần khaki",   "Sơ mi bé trai + Quần khaki đi học"),
    ("be_trai","Áo Sơ mi",  "hang_ngay","bottom","Quần jean",    "Sơ mi bé trai + Quần jean hàng ngày"),
    # Áo len gilet BE GAI
    ("be_gai", "Áo len gilet","hang_ngay","top",  "Áo phông",    "Gilet len bé gái + Áo phông bên trong"),
    ("be_gai", "Áo len gilet","hang_ngay","bottom","Quần leggings","Gilet len bé gái + Leggings ấm áp"),
    # Tất BE GAI
    ("be_gai","Tất",        "the_thao", "top",   "Áo phông",    "Tất bé gái + Áo phông thể thao"),
    # Áo khoác nỉ có mũ NAM (với schema tên khác)
    ("nam",   "Áo khoác nỉ có mũ","di_choi","bottom","Quần jean","Khoác nỉ có mũ nam + Quần jean đi chơi"),
    ("nam",   "Áo khoác nỉ có mũ","hang_ngay","top","Áo phông",  "Khoác nỉ có mũ nam + Áo phông bên trong"),
    # Áo khoác nỉ có mũ BE TRAI
    ("be_trai","Áo khoác nỉ có mũ","hang_ngay","bottom","Quần nỉ","Khoác nỉ có mũ bé trai + Quần nỉ"),
    ("be_trai","Áo khoác nỉ có mũ","di_choi",  "bottom","Quần jean","Khoác nỉ có mũ bé trai + Quần jean"),
    # Khăn mặt (others→unisex)
    ("all",   "Khăn mặt",  "mac_nha",  "top",   "Áo mặc nhà",  "Khăn mặt + Áo mặc nhà: home essential"),
    # Pyjama BE GAI
    ("be_gai","Pyjama",    "mac_nha",  "outerwear","Cardigan",   "Pyjama bé gái + Cardigan ấm nhà"),
    # Pyjama NU
    ("nu",    "Pyjama",    "mac_nha",  "outerwear","Cardigan",   "Pyjama nữ + Cardigan mùa lạnh"),
    # Quần váy NU
    ("nu",    "Quần váy",  "di_choi",  "top",   "Áo phông",    "Quần váy nữ + Áo phông đi chơi"),
    ("nu",    "Quần váy",  "di_lam",   "top",   "Blouse",      "Quần váy nữ + Blouse văn phòng"),
    # Găng tay chống nắng (sun glove — aesthetic tiny)
    ("unisex","Găng tay chống nắng","du_lich","top","Áo phông",  "Găng tay chống nắng + Áo phông du lịch"),
    ("nu",    "Găng tay chống nắng","du_lich","top","Áo phông",  "Găng tay chống nắng + Áo phông nữ"),
    # Áo khoác gilet chần bông NAM
    ("nam",   "Áo khoác gilet chần bông","hang_ngay","top","Áo phông", "Gilet chần bông nam + Áo phông"),
    ("nam",   "Áo khoác gilet chần bông","hang_ngay","bottom","Quần jean","Gilet nam + Quần jean"),
]


def run():
    from common.pool_wrapper import get_pooled_connection_compat
    conn = None
    try:
        conn = get_pooled_connection_compat()
        cur = conn.cursor()
        inserted = 0
        for r in RULES:
            cur.execute(f"""
                INSERT INTO {TABLE}(gender_target,anchor_category,occasion_tag,match_role,target_category,ai_reason)
                VALUES(%s,%s,%s,%s,%s,%s) ON CONFLICT DO NOTHING
            """, r)
            if cur.rowcount > 0:
                inserted += 1
        conn.commit(); cur.close()
        print(f"[OK] migrate_006 done: +{inserted}/{len(RULES)} rules seeded")
    except Exception as e:
        if conn: conn.rollback()
        print(f"[ERROR] {e}")
    finally:
        if conn: conn.close()

if __name__ == "__main__":
    run()
