-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathportfolio-up.sql
37 lines (33 loc) · 1.08 KB
/
portfolio-up.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE portfolio (
id UUID DEFAULT UUID_GENERATE_V4(),
name VARCHAR(100),
PRIMARY KEY(id),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE securities (
portfolio_id UUID,
ticker_symbol VARCHAR(10),
average_buy_price DOUBLE PRECISION,
shares INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(portfolio_id, ticker_symbol),
FOREIGN KEY(portfolio_id) REFERENCES portfolio(id)
);
CREATE TYPE trade_type_enum AS ENUM ('BUY', 'SELL');
CREATE TABLE trades (
id UUID DEFAULT UUID_GENERATE_V4(),
portfolio_id UUID,
trade_type trade_type_enum,
ticker_symbol VARCHAR(10),
previous_avg_buy DOUBLE PRECISION,
current_price DOUBLE PRECISION,
quantity SERIAL,
deleted BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP DEFAULT NULL,
PRIMARY KEY(id),
FOREIGN KEY(portfolio_id) REFERENCES portfolio(id)
);