AI Analysis and Content Strategy fixes. Enhanced Strategy Routes refactoring.
This commit is contained in:
72
backend/scripts/update_basic_tier_limits.py
Normal file
72
backend/scripts/update_basic_tier_limits.py
Normal file
@@ -0,0 +1,72 @@
|
||||
"""
|
||||
Update Basic Tier Limits and OSS Model Pricing
|
||||
Updates existing subscription plans and pricing without recreating tables.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
# Add the backend directory to Python path
|
||||
backend_dir = Path(__file__).parent.parent
|
||||
sys.path.insert(0, str(backend_dir))
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from loguru import logger
|
||||
import traceback
|
||||
|
||||
from services.database import DATABASE_URL
|
||||
from services.subscription.pricing_service import PricingService
|
||||
|
||||
def update_pricing_and_plans():
|
||||
"""Update pricing and plans without recreating tables."""
|
||||
|
||||
try:
|
||||
# Create engine
|
||||
engine = create_engine(DATABASE_URL, echo=False)
|
||||
|
||||
# Create session
|
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||
db = SessionLocal()
|
||||
|
||||
try:
|
||||
# Initialize pricing and plans (will update existing)
|
||||
pricing_service = PricingService(db)
|
||||
|
||||
logger.info("🔄 Updating default API pricing (including OSS models)...")
|
||||
pricing_service.initialize_default_pricing()
|
||||
logger.info("✅ Default API pricing updated")
|
||||
|
||||
logger.info("🔄 Updating default subscription plans (Basic tier limits)...")
|
||||
pricing_service.initialize_default_plans()
|
||||
logger.info("✅ Default subscription plans updated")
|
||||
|
||||
logger.info("🎉 Pricing and plans update completed successfully!")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"❌ Error updating pricing/plans: {e}")
|
||||
logger.error(traceback.format_exc())
|
||||
db.rollback()
|
||||
raise
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"❌ Error: {e}")
|
||||
logger.error(traceback.format_exc())
|
||||
raise
|
||||
|
||||
if __name__ == "__main__":
|
||||
logger.info("🚀 Updating Basic Tier Limits and OSS Model Pricing...")
|
||||
|
||||
try:
|
||||
update_pricing_and_plans()
|
||||
logger.info("✅ Update completed successfully!")
|
||||
|
||||
except KeyboardInterrupt:
|
||||
logger.info("Update cancelled by user")
|
||||
sys.exit(0)
|
||||
except Exception as e:
|
||||
logger.error(f"❌ Update failed: {e}")
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user