Open CyTb-On-Fire opened 1 year ago
Для всех foreign key ключей были добавлены каскадные операции CASCADE. Связано это с тем, что при удалении записи пользователя, мы так же хотим удалить все его лайки и подписки на трэки, альбомы, артистов. Аналогично, при удалении артистов, альбомов или плейлистов нам не нужны никакие, связанные с ними, кортежи
Значения по умолчанию есть только при: 1) добавлении кортежа с плейлистами(дата создания дефолтно выставляется текущей по now) 2) добавлении трека(play_count - количество прослушиваний изначально равно нулю) 3) первичный ключ для пользователя - дефолтно генерируется uuid4 при создании нового кортежа
Для остальных полей мы приняли решение не добавлять дефолтные поля, так как отсутствие передачи их в аргументах/теле запроса не дает достаточного количества информации для создания нового кортежа(Например, мы не имеем права регистрировать пользователя, указывая ему дефолтную дату рождения, поэтому просим ввести при регистрации, аналогично с записями плейлистов)