Skip to content
Numie edited this page Mar 5, 2018 · 7 revisions

users

Column Name Data Type Details
id integer primary key, not null
first_name string not null
last_name string not null
email string not null, unique, indexed, format: {with: /.+@.+..+/}
password_digest string not null
session_token string not null, unique, indexed
created_at datetime not null
updated_at datetime not null

restaurants

Column Name Data Type Details
id integer primary key, not null
name string not null, unique
address string not null
phone string not null
img_url string not null
cuisine string not null
delivery_minimum float not null
delivery_fee float
open_time time not null
close_time time not null
latitude float not null, indexed
longitude float not null, indexed
created_at datetime not null
updated_at datetime not null

menu_items

Column Name Data Type Details
id integer primary key, not null
restaurant_id integer not null, indexed, foreign_key
name string not null
description text
price float not null
created_at datetime not null
updated_at datetime not null

orders (join table)

Column Name Data Type Details
id integer primary key, not null
user_id integer not null, indexed, foreign_key
restaurant_id integer not null, indexed, foreign_key
subtotal float not null
tax float not null
tip float
delivery fee float
total float not null
delivery_instructions string
created_at datetime not null
updated_at datetime not null

order_items (join table)

Column Name Data Type Details
id integer primary key, not null
order_id integer not null, indexed, foreign_key
item_id integer not null, indexed, foreign_key
quantity integer not null, numericality: {only_integer: true, greater_than: 0, less_than: 100}
item_instructions string
created_at datetime not null
updated_at datetime not null

reviews

Column Name Data Type Details
id integer primary key, not null
user_id integer not null, indexed, foreign_key
restaurant_id integer not null, indexed, foreign_key
rating integer not null
review text length: {maximum: 2000}
created_at datetime not null
updated_at datetime not null
Clone this wiki locally