Fix: Make DB path robust for Docker
This commit is contained in:
19
db.py
19
db.py
@@ -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()
|
||||||
|
|||||||
@@ -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']))
|
||||||
|
|||||||
Reference in New Issue
Block a user