Задать вопрос
@historydev
long long long long long .... int

Как настроить десятки связей и не потеряться в модели (prisma orm)?

Модель:
model UserAccount {
  id Int @id @unique @default(autoincrement()) @map("id")

  roles Role[] @default([USER]) @map("roles")

  invitedBy       Int?     @map("invited_by")
  invitationLinks String[] @map("invitation_links")

  actions         UserAction[]
  bookings        Booking[]
  notifications   Notification[]
  createdProducts Product[]      @relation("user_created_products")

  isBlocked      Boolean  @map("is_blocked")
  blockedBy      Int      @map("blocked_by")
  blockedAt      DateTime @map("blocked_at") @db.Timestamptz()
  blockingReason String   @map("blocking_reason") @db.VarChar(128)

  isDeleted      Boolean   @default(false) @map("is_deleted")
  deletedBy      Int       @map("deleted_by")
  deletedAt      DateTime? @map("deleted_at") @db.Timestamptz()
  deletionReason String?   @map("deletion_reason") @db.VarChar(128)

  createdBy Int?     @map("created_by")
  createdAt DateTime @map("created_at") @db.Timestamptz()

  updatedBy Int?      @map("updated_by")
  updatedAt DateTime? @map("updated_at") @db.Timestamptz()

  tablesAuditLogs TableAuditLog[]

  @@map("user_accounts")
}


Мне хотелось бы иметь возможность в одном запросе получить профиль пользователя, который создал запись, НО:
1. Если кол-во связей увеличивается, у меня начинает кипеть голова.
2. Я не понимаю как группировать поля, например: есть связи технические, а есть основные - например bookings и если бы я решил отделить все связи от основных полей, не разделяя их, стало бы чуть полегче, но потеряется логика.

Я хочу поделить схемы на интуитивно понятные блоки, чтобы не тратить время на поиски и последующие воспоминания (спустя время).

Визуальная библиотека подобных схем на нуле, поэтому выбирать или хотя-бы вдохновиться не чем.
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию: от новичка до автоматизатора
    9 месяцев
    Далее
  • Skillfactory
    Профессия «Белый» хакер
    13 месяцев
    Далее
  • Java Online Projects
    Новые времена: Spring Boot 3.x + HATEOAS
    2 недели
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы