"""migrate_007_absolute_final.py — 6 anchor categories cuối cùng"""
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 = [
    ("be_gai","Áo lót",                "mac_nha", "bottom","Quần mặc nhà",    "Áo lót bé gái + Quần mặc nhà nhà"),
    ("be_gai","Áo lót",                "mac_nha", "top",   "Áo mặc nhà",      "Áo lót bé gái base + Áo mặc nhà phủ"),
    ("nam",   "Quần lót tam giác",     "mac_nha", "top",   "Áo phông",        "Quần lót + Áo phông: home basic nam"),
    ("be_gai","Áo Body",               "di_lam",  "bottom","Chân váy",        "Áo Body bé gái + Chân váy: cute look"),
    ("be_gai","Áo Body",               "hang_ngay","bottom","Quần leggings",   "Áo Body bé gái + Leggings hàng ngày"),
    ("be_gai","Quần leggings mặc nhà","mac_nha",  "top",   "Áo phông",        "Leggings nhà bé gái + Áo phông"),
    ("be_gai","Quần leggings mặc nhà","mac_nha",  "top",   "Áo mặc nhà",      "Leggings nhà bé gái + Áo mặc nhà"),
    ("be_trai","Blazer",               "di_lam",  "bottom","Quần khaki",       "Blazer bé trai + Quần khaki đi học"),
    ("be_trai","Blazer",               "di_lam",  "top",   "Áo Sơ mi",        "Blazer bé trai mặc ngoài Sơ mi"),
    ("nu",    "Áo khoác sợi",          "di_choi", "bottom","Quần jean",       "Áo khoác sợi nữ + Quần jean"),
    ("nu",    "Áo khoác sợi",          "hang_ngay","top",  "Áo phông",        "Áo khoác sợi nữ + Áo phông base"),
]


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