Recovered state: integrated TrendSurferAgent, restored frontend/backend files, and cleaned up recovery scripts

This commit is contained in:
ajaysi
2026-02-08 13:56:57 +05:30
parent 1db10ccd0f
commit e404a86502
333 changed files with 42223 additions and 10875 deletions

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env python3
"""
Database migration script to create comprehensive user data cache table.
Run this script to add the cache table to your database.
@@ -10,13 +11,20 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from sqlalchemy import create_engine, text
from sqlalchemy.orm import sessionmaker
from loguru import logger
import os
import argparse
from services.database import get_user_db_path
def create_cache_table():
def create_cache_table(user_id=None):
"""Create the comprehensive user data cache table."""
try:
# Get database URL from environment or use default
database_url = os.getenv('DATABASE_URL', 'sqlite:///alwrity.db')
if user_id:
db_path = get_user_db_path(user_id)
database_url = f'sqlite:///{db_path}'
logger.info(f"Targeting user database: {db_path}")
else:
logger.error("❌ Error: user_id is required to create cache table.")
return False
# Create engine
engine = create_engine(database_url)
@@ -87,11 +95,17 @@ def create_cache_table():
db.close()
return False
def drop_cache_table():
def drop_cache_table(user_id=None):
"""Drop the comprehensive user data cache table (for testing)."""
try:
# Get database URL from environment or use default
database_url = os.getenv('DATABASE_URL', 'sqlite:///alwrity.db')
if user_id:
db_path = get_user_db_path(user_id)
database_url = f'sqlite:///{db_path}'
logger.info(f"Targeting user database: {db_path}")
else:
logger.error("❌ Error: user_id is required to drop cache table.")
return False
# Create engine
engine = create_engine(database_url)
@@ -100,15 +114,14 @@ def drop_cache_table():
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
db = SessionLocal()
# Drop table
logger.info("Dropping comprehensive_user_data_cache table...")
db.execute(text("DROP TABLE IF EXISTS comprehensive_user_data_cache;"))
db.execute(text("DROP TABLE IF EXISTS comprehensive_user_data_cache"))
db.commit()
logger.info("✅ Table dropped successfully")
logger.info("✅ Comprehensive user data cache table dropped successfully!")
db.close()
return True
except Exception as e:
logger.error(f"❌ Error dropping cache table: {str(e)}")
if 'db' in locals():
@@ -116,25 +129,21 @@ def drop_cache_table():
return False
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description="Manage comprehensive user data cache table")
parser.add_argument("--action", choices=["create", "drop"], default="create",
help="Action to perform (create or drop table)")
parser = argparse.ArgumentParser(description="Create comprehensive user data cache table")
parser.add_argument("--user_id", help="Target specific user ID")
parser.add_argument("--drop", action="store_true", help="Drop the table instead of creating it")
args = parser.parse_args()
if args.action == "create":
success = create_cache_table()
if success:
logger.info("🎉 Cache table setup completed successfully!")
else:
logger.error("💥 Cache table setup failed!")
sys.exit(1)
elif args.action == "drop":
success = drop_cache_table()
if success:
logger.info("🗑️ Cache table dropped successfully!")
else:
logger.error("💥 Failed to drop cache table!")
sys.exit(1)
if args.drop:
logger.info("🗑️ Dropping comprehensive user data cache table...")
success = drop_cache_table(args.user_id)
else:
logger.info("🚀 Creating comprehensive user data cache table...")
success = create_cache_table(args.user_id)
if success:
logger.success("🎉 Operation completed successfully!")
sys.exit(0)
else:
logger.error("❌ Operation failed!")
sys.exit(1)