"""migrate_008_done.py — 5 anchor categories cuối cùng (Áo Body, Bộ thể thao bé trai, ...)"""
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 = [
    ("nu",    "Áo Body", "di_lam",   "bottom","Quần âu",    "Áo Body nữ + Quần âu: bodysuit office"),
    ("nu",    "Áo Body", "di_lam",   "bottom","Chân váy",   "Áo Body nữ + Chân váy: sleek look"),
    ("nu",    "Áo Body", "di_choi",  "bottom","Quần jean",  "Áo Body nữ + Quần jean: casual chic"),
    ("unisex","Áo Body", "the_thao", "bottom","Quần leggings","Áo Body + Leggings: activewear"),
    ("nam",   "Áo Body", "the_thao", "bottom","Quần thể thao","Áo Body nam + Quần thể thao gym"),
    ("be_trai","Bộ thể thao","the_thao","outerwear","Áo khoác gió","Bộ thể thao bé trai + Khoác gió"),
    ("be_trai","Bộ thể thao","the_thao","outerwear","Áo nỉ có mũ","Bộ thể thao bé trai + Hoodie"),
    ("unisex","Quần mặc nhà","mac_nha","top","Áo phông",    "Quần mặc nhà unisex + Áo phông nhà"),
    ("unisex","Quần mặc nhà","mac_nha","top","Áo mặc nhà",  "Quần mặc nhà unisex + Áo mặc nhà"),
]


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_008 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()
