#!/usr/bin/env python3
"""Initialize database with schema"""

import os
import sqlite3

db_path = os.path.join(os.path.dirname(__file__), "insightflow.db")
schema_path = os.path.join(os.path.dirname(__file__), "schema.sql")

print(f"Database path: {db_path}")
print(f"Schema path: {schema_path}")

# Read schema
with open(schema_path) as f:
    schema = f.read()

# Execute schema
conn = sqlite3.connect(db_path)
cursor = conn.cursor()

# Split schema by semicolons and execute each statement
statements = schema.split(";")
success_count = 0
error_count = 0

for stmt in statements:
    stmt = stmt.strip()
    if stmt:
        try:
            cursor.execute(stmt)
            success_count += 1
        except sqlite3.Error as e:
            # Ignore "already exists" errors
            if "already exists" in str(e):
                success_count += 1
            else:
                print(f"Error: {e}")
                error_count += 1

conn.commit()
conn.close()

print("\nSchema execution complete:")
print(f"  Successful statements: {success_count}")
print(f"  Errors: {error_count}")
