Skip to content

Database Schema

jjiiaaLi edited this page May 5, 2021 · 10 revisions

Database Schema

users

column name data type details
id integer not null, primary key
username string not null, unique
email string not null, indexed, unique
hashedPassword string not null, unique
created_at datetime not null
updated-at datetime not null
  • index on email, unique: true

questions

column name data type details
id integer not null, primary key
content string not null
userId integer not null, foreign key
created_at datetime not null
updated-at datetime not null
  • userId references users table
  • questiontagId references questiontags table

answers

column name data type details
id integer not null, primary key
content string not null
userId integer not null, foreign key
questionId integer not null, foreign key
created_at datetime not null
updated-at datetime not null
  • userId references users table
  • questionId references questions table

comments

column name data type details
id integer not null, primary key
content string not null
userId integer not null, foreign key
answerId integer not null, foreign key
questionId integer not null, foreign key
created_at datetime not null
updated-at datetime not null
  • userId references users table
  • questionId references questions table
  • answerId references answers table

upvotes

column name data type details
id integer not null, primary key
userId integer not null, indexed, foreign key
questionId integer indexed, foreign key
answerId integer indexed, foreign key
commentId integer indexed, foreign key
  • userId references users table
  • questionId references questions table
  • answerId references answers table
  • commentId references answers table

tags

column name data type details
id integer not null, primary key
name text not null

questiontags

column name data type details
id integer not null, primary key
questionId integer not null, foreign key
tagId integer not null, foreign key
  • questionId references questions table
  • tagId references tags table

Clone this wiki locally