Schema - echen831/Robbyhood GitHub Wiki

users

Column Data Type Details
id integer not null, primary key
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
  • indexed on email, unique true
  • indexed on session_token, unique true

stocks

Column Data Type Details
id integer not null, indexed
exchange_id integer not null, foreign key
name string not null, unique
symbol string not null
created_at datetime not null
updated_at datetime not null
  • exchange_id references exchanges
  • indexed on exchange_id

exchanges

Column Data Type Details
id integer not null, indexed
name string not null, unique
created_at datetime not null
updated_at datetime not null

transactions

Column Data Type Details
id integer not null, indexed
user_id integer not null, foreign_key
stock_id integer not null, foreign_key
price float not null
num_shares integer not null
transaction_type string not null
created_at datetime not null
updated_at datetime not null
  • user_id references users
  • stock_id references stocks
  • indexed on [:stock_id,:user_id]
  • indexed on stock_id

watchlist

Column Data Type Details
id integer not null, indexed
user_id integer not null, foreign_key
stock_id integer not null, foreign_key
created_at datetime not null
updated_at datetime not null
  • user_id references users
  • stock_id references stocks
  • indexed on [:stock_id,:user_id], unique: true