
import sqlite3
from pathlib import Path

DB = Path("/var/www/vps2.happyuser.info/AIMA_bot/data/processed/aima_conversion_shadow.sqlite")
conn = sqlite3.connect(str(DB))
conn.row_factory = sqlite3.Row
cur = conn.cursor()

# Всі таблиці
print("=== Таблиці ===")
for row in cur.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name"):
    cnt = cur.execute(f"SELECT COUNT(*) FROM [{row['name']}]").fetchone()[0]
    print(f"  {row['name']}: {cnt} рядків")

# Структура aima_imported_contacts
print("\n=== aima_imported_contacts: унікальні dataset ===")
for row in cur.execute("SELECT dataset, COUNT(*) as n FROM aima_imported_contacts GROUP BY dataset ORDER BY n DESC"):
    print(f"  {row['dataset']}: {row['n']}")

print("\n=== aima_imported_contacts: колонки ===")
for col in cur.execute("PRAGMA table_info(aima_imported_contacts)"):
    print(f"  {col['name']} {col['type']}")

# Чи є інша таблиця із "registered"
print("\n=== aima_shadow_leads: колонки ===")
try:
    for col in cur.execute("PRAGMA table_info(aima_shadow_leads)"):
        print(f"  {col['name']} {col['type']}")
    # Перші 3 рядки
    cur.execute("SELECT * FROM aima_shadow_leads LIMIT 3")
    cols = [d[0] for d in cur.description]
    for row in cur.fetchall():
        print(dict(zip(cols, row)))
except Exception as e:
    print(f"  помилка: {e}")

# Чи є ще датасети в aima_imported_contacts?
print("\n=== aima_imported_contacts: перші 3 рядки першого рядка ===")
cur.execute("SELECT * FROM aima_imported_contacts LIMIT 3")
cols = [d[0] for d in cur.description]
for row in cur.fetchall():
    d = dict(zip(cols, row))
    print({k:v for k,v in d.items() if k not in ('notes',)})

conn.close()
