#!/usr/bin/env python3 """Retire de la BD les boutiques absentes du registre (et leurs produits).""" import json, sqlite3, sys sys.path.insert(0, '.') reg = {s["id"] for s in json.load(open("data/stores.json"))["stores"]} con = sqlite3.connect("data/fabrika.db") db_stores = {r[0] for r in con.execute("SELECT id FROM stores")} orphans = db_stores - reg for sid in orphans: con.execute("DELETE FROM products_fts WHERE uid IN (SELECT uid FROM products WHERE store_id=?)", (sid,)) con.execute("DELETE FROM products WHERE store_id=?", (sid,)) con.execute("DELETE FROM stores WHERE id=?", (sid,)) con.commit() print(f"purged {len(orphans)} orphan stores:", sorted(orphans)[:10])