go-park-mail-ru / 2023_2_AdDo

4 stars 1 forks source link

Схемы в файле с миграциями. #25

Open CyTb-On-Fire opened 1 year ago

CyTb-On-Fire commented 1 year ago
Dmitry-Evsyukov commented 1 year ago

Для всех foreign key ключей были добавлены каскадные операции CASCADE. Связано это с тем, что при удалении записи пользователя, мы так же хотим удалить все его лайки и подписки на трэки, альбомы, артистов. Аналогично, при удалении артистов, альбомов или плейлистов нам не нужны никакие, связанные с ними, кортежи

Dmitry-Evsyukov commented 1 year ago

Значения по умолчанию есть только при: 1) добавлении кортежа с плейлистами(дата создания дефолтно выставляется текущей по now) 2) добавлении трека(play_count - количество прослушиваний изначально равно нулю) 3) первичный ключ для пользователя - дефолтно генерируется uuid4 при создании нового кортежа

Для остальных полей мы приняли решение не добавлять дефолтные поля, так как отсутствие передачи их в аргументах/теле запроса не дает достаточного количества информации для создания нового кортежа(Например, мы не имеем права регистрировать пользователя, указывая ему дефолтную дату рождения, поэтому просим ввести при регистрации, аналогично с записями плейлистов)