Fix: Make DB path robust for Docker

This commit is contained in:
Jarvis
2026-01-30 11:40:05 +00:00
parent f5c91359cf
commit dd52fc1377
2 changed files with 20 additions and 3 deletions

19
db.py
View File

@@ -1,10 +1,20 @@
import sqlite3 import sqlite3
import json import json
import os
from datetime import datetime 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(): def init_db():
# Ensure data directory exists
if not os.path.exists(DATA_DIR):
os.makedirs(DATA_DIR)
conn = sqlite3.connect(DB_PATH) conn = sqlite3.connect(DB_PATH)
c = conn.cursor() c = conn.cursor()
c.execute(''' c.execute('''
@@ -27,6 +37,10 @@ def init_db():
conn.close() conn.close()
def insert_lead(lead_data): 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) conn = sqlite3.connect(DB_PATH)
c = conn.cursor() c = conn.cursor()
try: try:
@@ -51,6 +65,9 @@ def insert_lead(lead_data):
conn.close() conn.close()
def get_leads(): def get_leads():
if not os.path.exists(DB_PATH):
init_db()
conn = sqlite3.connect(DB_PATH) conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row conn.row_factory = sqlite3.Row
c = conn.cursor() c = conn.cursor()

View File

@@ -1,5 +1,5 @@
import json import json
from db import update_lead_status, get_leads from db import update_lead_status, get_leads, DB_PATH
import sqlite3 import sqlite3
def enrich_lead(lead): def enrich_lead(lead):
@@ -26,7 +26,7 @@ def enrich_lead(lead):
enrichment['recommendation'] = 'Medium Priority - Pitch Showroom Cleanliness' enrichment['recommendation'] = 'Medium Priority - Pitch Showroom Cleanliness'
# Update DB # Update DB
conn = sqlite3.connect('lead-engine/data/leads.db') conn = sqlite3.connect(DB_PATH)
c = conn.cursor() c = conn.cursor()
c.execute('UPDATE leads SET enrichment_data = ?, status = ? WHERE id = ?', c.execute('UPDATE leads SET enrichment_data = ?, status = ? WHERE id = ?',
(json.dumps(enrichment), 'enriched', lead['id'])) (json.dumps(enrichment), 'enriched', lead['id']))