diff --git a/src/logging/mod.rs b/src/logging/mod.rs index 0b20f5f8..d80fdd10 100644 --- a/src/logging/mod.rs +++ b/src/logging/mod.rs @@ -63,6 +63,15 @@ impl RequestLogger { async fn insert_log(pool: &SqlitePool, log: RequestLog) -> Result<(), sqlx::Error> { let mut tx = pool.begin().await?; + // Ensure the client row exists (FK constraint requires it) + sqlx::query( + "INSERT OR IGNORE INTO clients (client_id, name, description) VALUES (?, ?, 'Auto-created from request')", + ) + .bind(&log.client_id) + .bind(&log.client_id) + .execute(&mut *tx) + .await?; + sqlx::query( r#" INSERT INTO llm_requests