#!/usr/bin/env python3 """Initialize database with schema""" import sqlite3 import os 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, "r") 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(f"\nSchema execution complete:") print(f" Successful statements: {success_count}") print(f" Errors: {error_count}")