Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | uuid | 2147483647 | null |
|
|
{“what”:“UUID primary key; unique identifier for each user.”,“why”:“Without it, rows cannot be uniquely referenced by foreign keys or lookups.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.490350338+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| slug | citext | 2147483647 | null |
|
|
{“what”:“Custom-type unique slug; likely used in URLs or public references.”,“why”:“Without it, no stable human-readable identifier for public profiles or API paths.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.614897355+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name | varchar | 255 | null |
|
|
{“what”:“Display name of the user; free-form text.”,“why”:“Without it, UI and emails lack a personal address; ambiguous identity.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.640038684+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| citext | 2147483647 | null |
|
|
{“what”:“Email address in a custom type; used for login and contact.”,“why”:“Without it, no way to authenticate or recover account; duplicates possible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.897882972+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| provider | varchar | 255 | √ | null |
|
|
{“what”:“OAuth provider name (e.g., ‘github’) if signup via OAuth.”,“why”:“Without it, cannot distinguish OAuth vs password accounts or merge identities.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.919563086+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| provider_uid | varchar | 255 | √ | null |
|
|
{“what”:“Unique identifier from the OAuth provider for this user.”,“why”:“Without it, cannot link provider account to user; duplicate accounts possible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.938565911+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| avatar | varchar | 255 | null |
|
|
{“what”:“URL or path to the user’s avatar image.”,“why”:“Without it, UI lacks a visual identifier; default avatar needed.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.981578802+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| github_username | varchar | 255 | √ | null |
|
|
{“what”:“GitHub username if linked; used for public profile.”,“why”:“Without it, GitHub-specific features or lookups fail.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.009268215+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| twitter_username | varchar | 255 | √ | null |
|
|
{“what”:“Twitter handle if linked; used for public profile.”,“why”:“Without it, Twitter-specific features or lookups fail.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.033679003+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| is_admin | bool | 1 | null |
|
|
{“what”:“Flag indicating admin privileges; true for admins.”,“why”:“Without it, no way to enforce admin-only actions; security risk.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.055413224+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hashed_password | varchar | 255 | √ | null |
|
|
{“what”:“Bcrypt or similar hash of the password; null for OAuth-only.”,“why”:“Without it, password login impossible; but nullable for OAuth users.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.080494570+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| last_signin | timestamp | 29,6 | null |
|
|
{“what”:“Timestamp of last successful sign-in; UTC.”,“why”:“Without it, cannot track activity or expire sessions.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.092121334+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| created_at | timestamp | 29,6 | null |
|
|
{“what”:“Timestamp when the user record was created; UTC.”,“why”:“Without it, no audit trail or ordering of signups.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.111746797+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| updated_at | timestamp | 29,6 | null |
|
|
{“what”:“Timestamp of last update to the record; UTC.”,“why”:“Without it, cannot detect stale or conflicting updates.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.125974543+00:00”} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| confirmed_at | timestamp | 29,6 | √ | null |
|
|
{“what”:“Timestamp when email was confirmed; null if unconfirmed.”,“why”:“Without it, cannot enforce email verification or restrict unconfirmed accounts.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.136521611+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| deleted_at | timestamp | 29,6 | √ | null |
|
|
{“what”:“Soft-delete timestamp; null if active.”,“why”:“Without it, hard delete loses history; cannot restore or filter deleted users.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.153251562+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| data | jsonb | 2147483647 | √ | null |
|
|
{“what”:“Arbitrary JSON metadata for the user; flexible schema.”,“why”:“Without it, cannot store user-specific custom fields without migrations.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.168113679+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| onboarding | varchar | 255 | √ | null |
|
|
{“what”:“Current onboarding step or state; e.g., ‘profile’ or ‘done’.”,“why”:“Without it, cannot resume or track onboarding progress.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.194826884+00:00”} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| provider_data | jsonb | 2147483647 | √ | null |
|
|
{“what”:“Raw JSON payload from the OAuth provider.”,“why”:“Without it, cannot refresh tokens or access provider-specific info.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.222827299+00:00”} |
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| users_pkey | Primary key | Asc | id |
| users_email_index | Must be unique | Asc | |
| users_slug_index | Must be unique | Asc | slug |