File size: 2,202 Bytes
ab028ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/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')