Ecto schema for the leaderboard_records table.
A record represents a single score entry in a leaderboard. Records can be either user-based (one per user per leaderboard) or label-based (one per label per leaderboard, no user required).
- User-based:
user_idis set,labelis nil. Uniqueness on(leaderboard_id, user_id, key). - Label-based:
labelis set,user_idis nil. Uniqueness on(leaderboard_id, label, key).
key splits a board into separate rankings: one record per user (or
label) per key, each key ranked on its own. "", the default, is a board
with one ranking. The record's metadata says what its key stands for.
Summary
Functions
Changeset for creating a new record.
Either user_id or label must be provided (but not both).
Changeset for updating an existing record's score.