Columns
| Column | Type | Size | Nulls | Auto | Default | Children | Parents | Comments | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| id | uuid | 2147483647 | gen_random_uuid() |
|
|
||||||
| user_id_1 | uuid | 2147483647 | null |
|
|
ID первого пользователя (всегда меньший UUID) |
|||||
| user_id_2 | uuid | 2147483647 | null |
|
|
ID второго пользователя (всегда больший UUID) |
|||||
| requester_id | uuid | 2147483647 | null |
|
|
ID пользователя, который создал запрос или инициировал блокировку |
|||||
| status | text | 2147483647 | 'PENDING'::text |
|
|
Текущее состояние связи: PENDING (ожидание), ACCEPTED (друзья), BLOCKED (бан), REJECTED (отклонено) |
|||||
| extra_params | jsonb | 2147483647 | '{}'::jsonb |
|
|
JSON-объект для доп. данных: {“alias”: “Ник”, “note”: “Заметка”, “privacy”: “friends_only”} |
|||||
| created_at | timestamptz | 35,6 | now() |
|
|
||||||
| updated_at | timestamptz | 35,6 | now() |
|
|
Indexes
| Constraint Name | Type | Sort | Column(s) |
|---|---|---|---|
| friendships_pkey | Primary key | Asc | id |
| idx_friendships_params | Performance | Asc | extra_params |
| idx_friendships_requester | Performance | Asc | requester_id |
| idx_friendships_u1_status | Performance | Asc/Asc | user_id_1 + status |
| idx_friendships_u2_status | Performance | Asc/Asc | user_id_2 + status |
| unique_friendship | Must be unique | Asc/Asc | user_id_1 + user_id_2 |

