From dd52fc137785a994173eda786a3e2bbdf410261e Mon Sep 17 00:00:00 2001 From: Jarvis Date: Fri, 30 Jan 2026 11:40:05 +0000 Subject: [PATCH] Fix: Make DB path robust for Docker --- db.py | 19 ++++++++++++++++++- enrich.py | 4 ++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/db.py b/db.py index aa6afda..f994bd6 100644 --- a/db.py +++ b/db.py @@ -1,10 +1,20 @@ import sqlite3 import json +import os from datetime import datetime -DB_PATH = 'lead-engine/data/leads.db' +# Robust path handling: +# 1. Get the directory where this script (db.py) lives +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +# 2. Define data directory and db path relative to it +DATA_DIR = os.path.join(BASE_DIR, 'data') +DB_PATH = os.path.join(DATA_DIR, 'leads.db') def init_db(): + # Ensure data directory exists + if not os.path.exists(DATA_DIR): + os.makedirs(DATA_DIR) + conn = sqlite3.connect(DB_PATH) c = conn.cursor() c.execute(''' @@ -27,6 +37,10 @@ def init_db(): conn.close() def insert_lead(lead_data): + # Ensure DB exists before inserting (if ingest runs before init) + if not os.path.exists(DB_PATH): + init_db() + conn = sqlite3.connect(DB_PATH) c = conn.cursor() try: @@ -51,6 +65,9 @@ def insert_lead(lead_data): conn.close() def get_leads(): + if not os.path.exists(DB_PATH): + init_db() + conn = sqlite3.connect(DB_PATH) conn.row_factory = sqlite3.Row c = conn.cursor() diff --git a/enrich.py b/enrich.py index 9bcf8ad..c4378f1 100644 --- a/enrich.py +++ b/enrich.py @@ -1,5 +1,5 @@ import json -from db import update_lead_status, get_leads +from db import update_lead_status, get_leads, DB_PATH import sqlite3 def enrich_lead(lead): @@ -26,7 +26,7 @@ def enrich_lead(lead): enrichment['recommendation'] = 'Medium Priority - Pitch Showroom Cleanliness' # Update DB - conn = sqlite3.connect('lead-engine/data/leads.db') + conn = sqlite3.connect(DB_PATH) c = conn.cursor() c.execute('UPDATE leads SET enrichment_data = ?, status = ? WHERE id = ?', (json.dumps(enrichment), 'enriched', lead['id']))