resumebuilder / debug_user_delete.py
sakthi07's picture
pushing to hugging face
ab028ac
#!/usr/bin/env python3
"""
Debug script to check user and their relationships
"""
import os
import sys
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
# Add current directory to Python path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from flask import Flask
from models import db, User, Introduction, ProfileSummary, WorkExperience, Project, Education, Skill, Achievement, ProfileSectionOrder
def debug_user_relationships(user_email):
"""Debug user relationships"""
app = Flask(__name__)
app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY', 'dev-secret-key-change-in-production')
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('SQLALCHEMY_DATABASE_URI')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
with app.app_context():
user = User.query.filter_by(email=user_email).first()
if not user:
print(f"User {user_email} not found")
return
print(f"User: {user.email} (ID: {user.id})")
print(f"Is admin: {user.is_admin}")
# Check relationships
print("\nProfile data:")
print(f"Introduction: {user.introduction}")
print(f"Profile Summary: {user.profile_summary}")
print(f"Work experiences: {len(user.work_experiences)}")
print(f"Projects: {len(user.projects)}")
print(f"Education: {len(user.educations)}")
print(f"Skills: {len(user.skills)}")
print(f"Achievements: {len(user.achievements)}")
print(f"Section order: {user.section_order}")
# Check direct queries
print("\nDirect database queries:")
intro = Introduction.query.filter_by(user_id=user.id).first()
print(f"Direct intro query: {intro}")
# Check if user has any introductions
from sqlalchemy import text
result = db.session.execute(text("SELECT COUNT(*) FROM introductions WHERE user_id = :user_id"), {'user_id': str(user.id)})
count = result.scalar()
print(f"Introduction count from direct SQL: {count}")
if __name__ == '__main__':
debug_user_relationships('test1@example.com')