Skip to content

Database Schema

alscotty edited this page Jan 16, 2020 · 13 revisions

Users

column name data type details
id integer not null, primary key
username string not null, indexed, unique
password_digest string not null
session_token string not null, indexed, unique
created_at datetime not null
updated_at datetime not null
  • index on username, unique: true
  • index on session_token, unique: true

Routes

column name data type details
id integer not null, primary key
title string not null
user_id integer not null, indexed, foreign key
time integer
miles float not null
coordinates string not null, indexed
created_at datetime not null
updated_at datetime not null
  • index on user_id
  • user_id references Users

Workouts

column name data type details
id integer not null, primary key
user_id integer not null, indexed, foreign key
route_id integer indexed, foreign key
title string not null
description string
time integer not null
miles float not null
created_at datetime not null
updated_at datetime not null
  • indices on route_id and user_id
  • route_id references Routes
  • user_id references Users

Coordinates

column name data type details
id integer not null
route_id integer not null, indexed, foreign key
lat float not null
lng float not null
ord integer not null
  • index on route_id
  • route_id references Routes

Friendships

column name data type details
id integer not null, primary key
user_id integer not null, indexed, foreign key
friend_id integer not null, indexed, foreign key
pending_request boolean not null
created_at datetime not null
updated_at datetime not null
  • index on user_id
  • index on friend_id
  • user_id references Users
  • friend_id references Users

Comments

column name data type details
id integer not null, primary key
route_id integer not null, indexed, foreign key
user_id integer not null, indexed, foreign key
content string not null
created_at datetime not null
updated_at datetime not null
  • index on route_id
  • index on user_id
  • route_id references Routes
  • user_id references Users