Schema - AmandaMitchell707/ScoutMySkate GitHub Wiki

Database Schema

users

column name data type details
id integer not null, primary key
first_name string not null
last_name string not null
email string not null, indexed, unique
birth_date date not null
gender string not null
country string not null
password_digest string not null
session_token string not null, indexed, unique
created_at datetime not null
updated_at datetime not null
  • index on email, unique: true
  • index on session_token, unique: true

routes

column name data type details
id integer not null, primary key
map_center array not null
zoom integer not null
description text optional
completion_time time optional
author_id integer not null, foreign key
created_at datetime not null
updated_at datetime not null
  • index on author_id

comments

column name data type details
id integer not null, primary key
body text not null
route_id integer not null, foreign key
author_id integer not null, foreign key
created_at datetime not null
updated_at datetime not null
  • index on route_id
  • index on author_id

friends

column name data type details
id integer not null, primary key
friender_id integer not null, foreign key
friendee_id integer not null, foreign key
created_at datetime not null
updated_at datetime not null
  • joins table for many to many relationship between users
  • index on friender_id
  • index on friendee_id
  • [friender_id, friendee_id], unique: true