Kit.Db/projects/pg/kit_auth_pg/_docs/diagrams/er-diagram.md

2.4 KiB
Raw Blame History

ER-диаграмма: auth schema (Kit.Auth.Db)

erDiagram
    %% Таблица пользователей
    auth.user {
        int id PK "serial"
        text outer_user_id "идентификатор во внешней системе"
        text login "логин (NOT NULL)"
        text password "хеш PBKDF2"
        text password_temp "DEPRECATED: временный пароль"
        text first_name "имя"
        text middle_name "отчество"
        text last_name "фамилия"
        text email "электронная почта"
        text phone "телефон"
        bool sex "пол"
        datetime date_created "дата создания"
        bool is_blocked "флаг блокировки"
        bool is_deleted "мягкое удаление"
        datetime date_deleted "дата удаления"
    }

    %% LEGACY: Кабинет
    auth.cabinet {
        int id PK "serial"
        text title "название кабинета"
        text organization_inn "ИНН организации"
        text organization_name "название организации"
        datetime date_created "дата создания"
        bool is_deleted "мягкое удаление"
        datetime date_deleted "дата удаления"
    }

    %% LEGACY: Связь пользователь ↔ кабинет
    auth.user_cabinet {
        int user_id FK "→ auth.user.id"
        int cabinet_id FK "→ auth.cabinet.id"
    }

    %% Связи
    auth.user ||--o{ auth.user_cabinet : "имеет кабинеты"
    auth.cabinet ||--o{ auth.user_cabinet : "принадлежит пользователям"

Описание связей

Связь Тип Описание
auth.userauth.user_cabinet 1:M Пользователь может иметь несколько кабинетов
auth.cabinetauth.user_cabinet 1:M Кабинет может принадлежать нескольким пользователям

Примечания

  • auth.user_cabinet — LEGACY-таблица без PK и FK (совместимость со старым кодом)
  • auth.cabinet — LEGACY-таблица, будет убрана в будущем
  • Состояние аутентификации и сессии вынесены в Kit.Auth.Token.Db (схема token)