Skip to content

DB Schema

Jose edited this page Mar 19, 2021 · 9 revisions

DB Schema

Users

name datatype details
id integer required, primary key, unique
username string required, indexed, unique
email string required
first_name string required
last_name string required
username string required, indexed, unique
password_digest string required
session_token string required, indexed, unique
created_at datetime required
updated_at datetime required

Routes

Using Google's polyline encoding algorithm to encode / decode routes into strings.

name datatype details
id integer required, primary key, unique
creator_id integer required, foreign key
name string required
route string required
lat float required, indexed
lng float required, indexed
created_at datetime required
updated_at datetime required

Friendships (Join)

name datatype details
id integer required, primary key, unique
user1_id integer required, foreign key
user2_id integer required, foreign key
accepted bool required
created_at datetime required
updated_at datetime required

Bonus stuff:

Comments

name datatype details
id integer required, primary key, unique
commenter_id integer required, foreign key
run_id integer required, foreign key
body string required, indexed
created_at datetime required
updated_at datetime required

Cheers (Join)

name datatype details
id integer required, primary key, unique
cheerer_id integer required, foreign key
run_id integer required, foreign key
created_at datetime required
updated_at datetime required
Clone this wiki locally