Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| id | int4 | 10 | √ | null |
|
|
{“what”:“Unique numeric identifier for each reaction row.”,“why”:“Without it, rows cannot be uniquely referenced for updates or deletions.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:02:57.388031854+00:00”} |
||||
| comment_id | int4 | 10 | null |
|
|
{“what”:“ID of the comment that received the reaction.”,“why”:“Without it, reactions cannot be associated with a specific comment, breaking reaction counts per comment.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:02:57.412367779+00:00”} |
|||||
| user_id | int4 | 10 | null |
|
|
{“what”:“ID of the user who gave the reaction.”,“why”:“Without it, we cannot know who reacted, preventing per-user reaction state and duplicate prevention.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:02:57.423772153+00:00”} |
|||||
| emoji | varchar | 10 | null |
|
|
{“what”:“Emoji character(s) used for the reaction, e.g. ‘👍’.”,“why”:“Without it, the reaction type is unknown, so counts per emoji and display are impossible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:02:57.448732330+00:00”} |
|||||
| created_at | timestamptz | 35,6 | now() |
|
|
{“what”:“Timestamp (with time zone) when the reaction was created, defaults to current time.”,“why”:“Without it, reaction ordering and time-based analytics are unavailable.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T00:02:57.459257675+00:00”} |
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| comment_reaction_pkey | Primary key | Asc | id |
| idx_comment_reaction_comment_id | Performance | Asc | comment_id |
| unique_user_comment_emoji | Must be unique | Asc/Asc/Asc | comment_id + user_id + emoji |