Compare commits

..

No commits in common. "b789c1bd445dbaa234f2ab6f1d192593e8e62cd6" and "5062aa8068b5946a07118610a9bb3e120b74ce42" have entirely different histories.

View File

@ -43,11 +43,7 @@ AVATAR_COLORS = ['#1D9E75','#378ADD','#D85A30','#EF9F27','#7F77DD','#D4537E','#6
@app.on_event("startup") @app.on_event("startup")
async def startup_event(): async def startup_event():
"""Run migrations and initialization on startup.""" """Run migrations and initialization on startup."""
try: init_db()
init_db()
except Exception as e:
print(f"⚠️ init_db() failed (non-fatal): {e}")
# Don't crash on startup - pipeline prompt can be created manually
def init_db(): def init_db():
"""Initialize database - Schema is loaded by startup.sh""" """Initialize database - Schema is loaded by startup.sh"""
@ -55,39 +51,23 @@ def init_db():
# This function kept for backwards compatibility # This function kept for backwards compatibility
# Ensure "pipeline" master prompt exists # Ensure "pipeline" master prompt exists
try: with get_db() as conn:
with get_db() as conn: cur = get_cursor(conn)
cur = get_cursor(conn) cur.execute("SELECT COUNT(*) as count FROM ai_prompts WHERE slug='pipeline'")
# Check if table exists first if cur.fetchone()['count'] == 0:
cur.execute(""" cur.execute("""
SELECT EXISTS ( INSERT INTO ai_prompts (slug, name, description, template, active, sort_order)
SELECT FROM information_schema.tables VALUES (
WHERE table_schema = 'public' 'pipeline',
AND table_name = 'ai_prompts' 'Mehrstufige Gesamtanalyse',
) as table_exists 'Master-Schalter für die gesamte Pipeline. Deaktiviere diese Analyse, um die Pipeline komplett zu verstecken.',
'PIPELINE_MASTER',
true,
-10
)
""") """)
if not cur.fetchone()['table_exists']: conn.commit()
print("⚠️ ai_prompts table doesn't exist yet - skipping pipeline prompt creation") print("✓ Pipeline master prompt created")
return
cur.execute("SELECT COUNT(*) as count FROM ai_prompts WHERE slug='pipeline'")
if cur.fetchone()['count'] == 0:
cur.execute("""
INSERT INTO ai_prompts (slug, name, description, template, active, sort_order)
VALUES (
'pipeline',
'Mehrstufige Gesamtanalyse',
'Master-Schalter für die gesamte Pipeline. Deaktiviere diese Analyse, um die Pipeline komplett zu verstecken.',
'PIPELINE_MASTER',
true,
-10
)
""")
conn.commit()
print("✓ Pipeline master prompt created")
except Exception as e:
print(f"⚠️ Could not create pipeline prompt: {e}")
# Don't fail startup - prompt can be created manually
# ── Helper: get profile_id from header ─────────────────────────────────────── # ── Helper: get profile_id from header ───────────────────────────────────────
def get_pid(x_profile_id: Optional[str] = Header(default=None)) -> str: def get_pid(x_profile_id: Optional[str] = Header(default=None)) -> str: