54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
import sqlite3
|
|
import os
|
|
|
|
# Adjust path to your actual DB location
|
|
DB_PATH = "/home/node/clawd/repos/brancheneinstufung2/company_explorer.db"
|
|
|
|
def migrate():
|
|
if not os.path.exists(DB_PATH):
|
|
print(f"Database not found at {DB_PATH}. Maybe it hasn't been created yet?")
|
|
return
|
|
|
|
print(f"Migrating database at {DB_PATH}...")
|
|
conn = sqlite3.connect(DB_PATH)
|
|
cursor = conn.cursor()
|
|
|
|
columns_to_add = [
|
|
# Industries (Existing List)
|
|
("industries", "pains", "TEXT"),
|
|
("industries", "gains", "TEXT"),
|
|
("industries", "notes", "TEXT"),
|
|
("industries", "priority", "TEXT"),
|
|
("industries", "ops_focus_secondary", "BOOLEAN DEFAULT 0"),
|
|
("industries", "secondary_category_id", "INTEGER"),
|
|
|
|
# Companies (New List for CRM Data)
|
|
("companies", "crm_name", "TEXT"),
|
|
("companies", "crm_website", "TEXT"),
|
|
("companies", "crm_address", "TEXT"),
|
|
("companies", "crm_vat", "TEXT"),
|
|
|
|
# Companies (Status & Quality)
|
|
("companies", "confidence_score", "FLOAT DEFAULT 0.0"),
|
|
("companies", "data_mismatch_score", "FLOAT DEFAULT 0.0"),
|
|
("companies", "website_scrape_status", "TEXT DEFAULT 'PENDING'"),
|
|
("companies", "wiki_search_status", "TEXT DEFAULT 'PENDING'"),
|
|
]
|
|
|
|
for table, col_name, col_type in columns_to_add:
|
|
try:
|
|
print(f"Adding column '{col_name}' to '{table}'...")
|
|
cursor.execute(f"ALTER TABLE {table} ADD COLUMN {col_name} {col_type}")
|
|
except sqlite3.OperationalError as e:
|
|
if "duplicate column name" in str(e):
|
|
print(f"Column '{col_name}' already exists. Skipping.")
|
|
else:
|
|
print(f"Error adding '{col_name}' to '{table}': {e}")
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
print("Migration complete.")
|
|
|
|
if __name__ == "__main__":
|
|
migrate()
|