Skip to content
Gregory Del Carlo edited this page Feb 3, 2021 · 12 revisions

Data Tables

Users

column name data type details
id integer not null, primary key
username string not null, unique
password_digest string not null
location string
  • User's will also have a photo held by active storage

Whiskey

column name data type details
id integer not null, primary key
name string not null, unique
type string not null
ABV float not null
proof integer not null
description string
distillery string not null
  • Drinks will have many photos held by active storage
  • Drinks will have many reviews

Reviews

column name data type details
id integer not null, primary key
rating float not null
body text not null
pour string not null, only certain types
location string
whiskey_id integer not null, foreign key
user_id integer not null, foreign key
  • Reviews will have many comments and cheers

Comments

column name data type details
id integer not null, primary key
body text not null
review_id integer not null
user_id integer not null

Whiskey_List

column name data type details
id integer not null, primary key
name string not null
user_id integer not null, foreign key
  • User lists need to be unique so we need to add a unique index on [name, user_id]

Join Tables

Cheers

column name data type details
id integer not null, primary key
user_id integer not null, foreign key
review_id integer not null, foreign key
  • Cheers act as likes to a comment so it will join a user to a review

Friendships

column name data type details
id integer not null, primary key
user1_id integer not null, foreign key
user2_id integer not null, foreign key
  • Users can friend other users so this table joins two users

Liked_Whiskeys

column name data type details
id integer not null, primary key
drink_id integer not null, foreign key
list_id integer not null, foreign key
  • Users can add whiskeys to their lists so this table joins whiskeys to a list
  • A drink can only be added to each list once so we need a unique index on [drink_id, list_id]

Clone this wiki locally