Skip to main content

LeaderboardEntry

The LeaderboardEntry model tracks user scores for regular challenges. Table name: leaderboard_entry

Fields

id
Integer
required
Primary key, auto-incrementing
user_id
Integer
required
Foreign key to users.id (indexed)
score
Integer
default:"0"
required
User’s total score
last_updated
DateTime
default:"datetime.datetime.now"
required
Last update timestamp (indexed)
key_stage
String(3)
required
Educational key stage (indexed)

Relationships

Indexes

Composite index for leaderboard queries:
  • ix_leaderboard_entry_key_stage_score on (key_stage, score)

SummerLeaderboard

The SummerLeaderboard model tracks user scores for summer competition challenges. Table name: summer_leaderboard

Fields

id
Integer
required
Primary key, auto-incrementing
user_id
Integer
required
Foreign key to users.id (indexed)
school_id
Integer
required
Foreign key to school.id (indexed)
score
Integer
default:"0"
required
User’s total summer competition score
last_updated
DateTime
default:"datetime.datetime.now"
required
Last update timestamp (indexed)

Relationships

Indexes

Composite indexes for leaderboard queries:
  • ix_summer_leaderboard_school_score on (school_id, score)
  • ix_summer_leaderboard_score on (score)

Build docs developers (and LLMs) love