Database Schema - makon57/MixTrail GitHub Wiki

Users

column name data type details
id integer not null, PK
username string(50) not null, unique
email string(255) not null, unique
password not null
createdAt date not null
updatedAt date not null
  • hasMany Reviews
  • hasMany TrailLists
  • hasMany Trails through Reviews association

TrailLists

column name datatype details
id integer not null, PK
name string(255) not null, unique
userId integer not null, FK(Users)
createdAt date not null
updatedAt date not null
  • belongsTo Users
  • belongsToMany Trails through Joins association

Joins

column name datatype details
id integer not null, PK
trailId integer not null, FK(Trails)
trailListId integer not null, FK(TrailList)
hasVisited boolean
wantToVisit boolean
createdAt date not null
updatedAt date not null
  • belongsTo TrailLists
  • hasMany Trails

Trails

column name datatype details
id integer not null, PK
name string(50) not null, unique
description text not null
state string(50) not null
createdAt date not null
updatedAt date not null
  • belongsToMany TrailLists through Joins
  • hasMany Reviews

Reviews

column name datatype details
id integer not null, PK
trailId integer not null, FK(Trails)
userId integer not null, FK(Users)
rating integer not null
text text not null
createdAt date not null
updatedAt date not null
  • belongsTo Users
  • belongsTo Trails

MixTrail Database Schema