#!/usr/bin/env python3 """ Script to create persona database tables. This script creates the new persona-related tables for storing writing personas. """ import sys import os # Add the backend directory to the Python path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from services.database import engine from models.persona_models import Base as PersonaBase from loguru import logger def create_persona_tables(): """Create all persona-related tables""" try: logger.info("Creating persona database tables...") # Create persona tables logger.info("Creating persona tables...") PersonaBase.metadata.create_all(bind=engine) logger.info("✅ Persona tables created!") logger.info("✅ All persona tables created successfully!") # Verify tables were created from sqlalchemy import inspect inspector = inspect(engine) tables = inspector.get_table_names() persona_tables = [ 'writing_personas', 'platform_personas', 'persona_analysis_results', 'persona_validation_results' ] created_tables = [table for table in persona_tables if table in tables] logger.info(f"✅ Verified tables created: {created_tables}") if len(created_tables) != len(persona_tables): missing = [table for table in persona_tables if table not in created_tables] logger.warning(f"⚠️ Missing tables: {missing}") except Exception as e: logger.error(f"❌ Error creating persona tables: {e}") sys.exit(1) if __name__ == "__main__": create_persona_tables()