Schema - UJPyon/behold GitHub Wiki

Database Schema

Users

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

Projects

column name data type details
id integer not null, primary key
title string not null
description string not null
artist_id integer not null, indexed, unique
created_at datetime not null
updated_at datetime not null
  • index on artist_id, unique: true

Comments

column name data type details
id integer not null, primary key
author_id integer not null, indexed, unique
body string not null
project_id integer not null, indexed
created_at datetime not null
updated_at datetime not null
  • index on author_id, unique: true
  • index on project_id

Categories

column name data type details
id integer not null, primary key
name string not null
created_at datetime not null
updated_at datetime not null

Joins Tables

Appreciations

column name data type details
id integer not null, primary key
project_id integer not null, indexed
appreciator_id integer not null, indexed
created_at datetime not null
updated_at datetime not null
  • index on project_id
  • index on appreciator_id
  • index on appreciations, [project_id, appreciator_id], unique: true

Category_projects

column name data type details
id integer not null, primary key
category_id integer not null
project_id integer not null
created_at datetime not null
updated_at datetime not null