Skip to content
egarrett3 edited this page Jul 27, 2020 · 1 revision

Users

Column Name Data Type DB specifications
id integer null:false , primary key
username string null: false, unique:true
email string null: false, unique:true
password_digest string null:false
session_token string null:false, unique:true
created_at datetime null:false
updated_at dateime null:false
  • indexed on username, email, password

Songs

Column Name Data Type DB specifications
id integer null:false, primary key
artist_id integer null:false, foreign key
album_id integer foreign key
genre_id integer null:false, foreign key
title string null:false
lyrics text
length integer null:false
created_at datetime null:false
updated_at dateime null:false
  • indexed on artist_id,album_id,genre_id

Albums

Column Name Data Type DB specifications
id integer null:false, primary key
artist_id integer foreign key
genre_id integer null:false, foreign key
title string null: false, unique: true
created_at datetime null:false
updated_at dateime null:false
  • indexed on artist_id, genre_id

Wishlists

Column Name Data Type DB specifications
id integer null:false, primary keys
user_id integer foreign key
song_id integer foreign key
created_at datetime null:false
updated_at dateime null:false
  • indexed on [:user_id, :song_id]
  • indexed on user_id, song_id

Genres

Column Name Data Type DB specifications
id integer null:false, primary keys
title text null:false

Clone this wiki locally