Schema - slavnikov/BootUp GitHub Wiki
Database Schema
users
Column Name |
Data Type |
Details |
id |
int |
pk |
name |
str |
nn |
email |
str |
nn, u |
session_token |
str |
nn, u |
password_digest |
str |
nn |
picture_url |
str |
|
biography |
txt |
|
location |
str |
|
time_zone |
int |
|
- users' email addresses will be used as usernames and will be the primary key of looking up users
has_many
comments
, backed_projects
, rewards
projects
Column Name |
Data Type |
Details |
id |
int |
pk |
admin_id |
int |
fk, nn |
pledge_goal |
int |
nn |
title |
str |
nn, u |
subtitle |
str |
nn |
category |
str |
nn |
subcategory |
str |
|
subtitle |
txt |
nn |
country |
str |
nn |
story |
txt |
nn |
end_date |
date |
nn |
admin_id
references user
table
belongs_to
a user
has_many
rewards
, backers
, comments
rewards
Column Name |
Data Type |
Details |
id |
int |
pk |
project_id |
int |
fk, nn |
title |
str |
nn |
pledge_amt |
int |
nn |
description |
txt |
nn |
porject_id
links the rewards
to their respective projects
- index on
[project_id, title], unique: true
- index on
[project_id, pldege_amt], unique: true
has_many
recipients
backings
Column Name |
Data Type |
Details |
id |
int |
pk |
backer_id |
int |
fk, nn |
project_id |
int |
fk, nn |
reward_id |
int |
fk, nn |
- links
users
to their backed_projects
and to their rewards
- index on
[backer_id, project_id, reward_id], unique: true
- links
projects
to their backers
- links
rewards
to their recipients