Проектирование мультитенантной базы данных SaaS с помощью Prisma с использованием одной базы данныхJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Проектирование мультитенантной базы данных SaaS с помощью Prisma с использованием одной базы данных

Сообщение Anonymous »

Я разрабатываю мультитенантную базу данных SaaS с помощью Prisma. Я использую одну базу данных для всех арендаторов, что означает, что строки в каждой таблице будут иметь идентификатор арендатора для разделения данных каждого арендатора. Идентификатор арендатора также будет использоваться в будущем для шардинга. Вот некоторые модели:

Код: Выделить всё

model Tenant{
id    Int    @id @default(autoincrement())
name  String

posts        Post[]
authors      Author[]
books        Book[]
publications Publication[]
}

model Post {
id       Int  @id @default(autoincrement())
tenant   Tenant @relation(fields: [tenantId], references: [id])
tenantId Int
author   User @relation(fields: [authorId], references: [id])
authorId Int

}

model Author {
id       Int  @id @default(autoincrement())
tenant   Tenant @relation(fields: [tenantId], references: [id])
tenantId Int
author   User @relation(fields: [authorId], references: [id])
authorId Int
}

model Book {
id       Int  @id @default(autoincrement())
tenant   Tenant @relation(fields: [tenantId], references: [id])
tenantId Int
}

...

model Publication {
id       Int  @id @default(autoincrement())
tenant   Tenant @relation(fields: [tenantId], references: [id])
tenantId Int

}
Из стиля моделирования Prisma (один ко многим) модель арендатора должна иметь свойства массива всех моделей, которые используют арендатора в качестве внешнего ключа (я знаю, что эти свойства массива не сохраняются в таблице). Это означает, что если имеется 100 моделей и все они используют идентификатор арендатора в качестве внешнего ключа, то модель арендатора будет иметь 100 свойств массива для всех моделей.
Надеюсь на мои рассуждения относительно того, как Prisma обрабатывает мультитенантную базу данных SaaS, правильно.
Есть ли лучший способ запретить модели арендатора иметь свойства массива для всех других моделей?

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-database
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»