Skip to content

Postgres Database Schema

jas-singh-code edited this page Mar 12, 2021 · 26 revisions

Users

column name data type details
id integer not null, primary key
lastname string not null, indexed, unique
firstname string not null, indexed, unique
username string not null, indexed, unique
email 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
  • has_many posts
  • has_many likes
  • has_many friends
  • has_one wall

Posts

column name data type details
id integer not null, primary key
title string not null
message text not null
poster_id integer not null, indexed, foreign key
created_at datetime not null
updated_at datetime not null
  • belongs_to user
  • has_many likes
  • has_many comments

Comments

column name data type details
id integer not null, primary key
body text not null
author_id integer not null, foreign key
  • belongs_to user
  • has_many likes

Likes

column name data type details
id integer not null, primary key
owner_id integer not null, indexed, foreign key
comment_id integer not null ,indexed, foreign key
  • belongs_to user

Friends

column name data type details
id integer not null, primary key
sender_id integer not null, indexed, foreign key
receiver_id integer not null, indexed, foreign key
created_at datetime not null
updated_at datetime not null
  • belongs_to user
Clone this wiki locally