- 修复重复导入/字段 - 修复异常处理 - 修复PEP8格式问题 - 添加类型注解 - 修复重复函数定义 (health_check, create_webhook_endpoint, etc) - 修复未定义名称 (SearchOperator, TenantTier, Query, Body, logger) - 修复 workflow_manager.py 的类定义重复问题 - 添加缺失的导入
46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
#!/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}")
|