slapify schema - Requiem-of-Zero/Slapify_project GitHub Wiki
users
column name | data type | details |
---|---|---|
id |
integer | primary key, not null |
email |
string | not null, indexed, unique |
username |
string | not null, unique |
session_token |
string | not null, indexed, unique |
password_digest |
string | not null |
created_at |
datetime | not null |
updated_at |
datetime | not null |
- index on
username
, unique: true - index on
session_token
, unique: true - index on
email
, unique: true
songs
column name | data type | details |
---|---|---|
id |
integer | primary key, not null |
album_id |
integer | not null, indexed |
song_name |
string | not null, unique |
created_at |
datetime | not null |
updated_at |
datetime | not null |
- index on
song_name
, unique: true
playlist_songs
column name | data type | details |
---|---|---|
id |
integer | primary key, not null |
playlist_id |
integer | not null, indexed |
song_id |
integer | not null, indexed |
created_at |
datetime | not null |
updated_at |
datetime | not null |
- index on [
playlist_id
,song_id
], unique: true - index on
song_id
, unique: true
playlists
column name | data type | details |
---|---|---|
id |
integer | primary key, not null |
title |
string | not null, unique |
user_id |
integer | not null, indexed |
created_at |
datetime | not null |
updated_at |
datetime | not null |
albums
column name | data type | details |
---|---|---|
id |
integer | primary key, not null |
album_name |
string | not null |
year |
integer | not null |
created_at |
datetime | not null |
updated_at |
datetime | not null |
artists
column name | data type | detail |
---|---|---|
id |
integer | primary key, not null |
name |
string | not null, unique |
created_at |
datetime | not null |
updated_at |
datetime | not null |
artist_music
column name | data type | detail |
---|---|---|
id |
integer | primary key, not null |
music_id |
integer | not null, indexed |
music_type |
string | not null, indexed |
artist_id |
integer | not null, indexed |
created_at |
datetime | not null |
updated_at |
datetime | not null |
likes
column name | data type | detail |
---|---|---|
id |
integer | primary key, not null |
likeable_id |
integer | not null, indexed |
likeable_type |
string | not null, indexed |
user_id |
integer | not null, indexed |
created_at |
datetime | not null |
updated_at |
datetime | not null |
- index on [
likable_id
,likable_type
], unique: true - index on
user_id
, unique: true