Дизайн базы данных для UserConsent - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь создать таблицу, в которой я буду хранить, если у нас есть согласие пользователя на отправку электронных писем. Такими вещами могут быть еженедельные электронные письма, месячные электронные письма, парольChangesEmails, profileChangesEmails и т. Д.

Это то, что я думал сделать сейчас:

*********************** UserConsent Table ***************************

   |columns|                      |datatype|
    ID                              uuid
    User_id(Foreign_key)            uuid
    weeklyEmails                    boolean
    monthlyEmai                     boolean
    passwordChangeEmails            boolean

Недостатком этого является, скажем, в будущем, я хочу добавить другое согласие, например profileChangeEmails или dailyDigestEmails, мне нужно будет написать миграцию базы данных и добавить новый столбец.

Есть ли лучший способ сделать это, когда нет необходимости создавать новый столбец?

Это для реляционной базы данных.

1 Ответ

0 голосов
/ 31 мая 2019

Ваше решение кажется адекватным.

Одна вещь, о которой стоит подумать, стоит ли разделять на модель 1: 1, как вы указали, а не просто добавлять столбцы в пользовательскую таблицу.Если у вас достаточно небольшая пользовательская таблица, возможно, было бы проще добавить столбцы, чтобы вам не приходилось иметь дело с управлением отношениями.

...