-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcreate_scripts.sql
More file actions
111 lines (103 loc) · 2.73 KB
/
Copy pathcreate_scripts.sql
File metadata and controls
111 lines (103 loc) · 2.73 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
-- ACCOUNTS table
CREATE TABLE accounts (
id BIGSERIAL PRIMARY KEY,
email VARCHAR(255),
first_name VARCHAR(255),
last_name VARCHAR(255),
plan VARCHAR(255),
source VARCHAR(255),
seats INTEGER,
created_at TIMESTAMP,
trial_ends_at TIMESTAMP,
canceled_at TIMESTAMP,
trial_converted BOOLEAN,
active_subscription BOOLEAN,
legacy_plan BOOLEAN,
latitude DOUBLE PRECISION,
longitude DOUBLE PRECISION,
country CHAR(2)
);
-- AFFILIATE table
CREATE TABLE affiliate (
affiliate_number INTEGER PRIMARY KEY,
full_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
phone_number VARCHAR(20)
);
-- PEOPLE table
CREATE TABLE people (
id BIGSERIAL PRIMARY KEY,
address VARCHAR(255),
email VARCHAR(255),
password VARCHAR(255),
name VARCHAR(255),
city VARCHAR(255),
longitude DOUBLE PRECISION,
state CHAR(2),
source VARCHAR(255),
birth_date DATE,
zip CHAR(5),
latitude DOUBLE PRECISION,
created_at TIMESTAMP,
referral_number INTEGER
);
-- PRODUCTS table
CREATE TABLE products (
id BIGSERIAL PRIMARY KEY,
ean CHAR(13),
title VARCHAR(255),
category VARCHAR(255),
vendor VARCHAR(255),
price DOUBLE PRECISION,
rating DOUBLE PRECISION,
created_at TIMESTAMP
);
-- ANALYTIC_EVENTS table
CREATE TABLE analytic_events (
id BIGINT PRIMARY KEY,
account_id BIGINT REFERENCES accounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
event VARCHAR(255),
timestamp TIMESTAMP,
page_url VARCHAR(255),
button_label VARCHAR(255)
);
-- FEEDBACK table
CREATE TABLE feedback (
id BIGINT PRIMARY KEY,
account_id BIGINT REFERENCES accounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
email VARCHAR(255),
date_received TIMESTAMP,
rating SMALLINT,
rating_mapped VARCHAR(255),
body TEXT
);
-- INVOICES table
CREATE TABLE invoices (
id BIGINT PRIMARY KEY,
account_id BIGINT REFERENCES accounts(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
payment DOUBLE PRECISION,
expected_invoice BOOLEAN,
plan VARCHAR(255),
date_received TIMESTAMP
);
-- ORDERS table
CREATE TABLE orders (
id BIGSERIAL PRIMARY KEY,
user_id INTEGER REFERENCES people(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
product_id INTEGER REFERENCES products(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
subtotal DOUBLE PRECISION,
tax DOUBLE PRECISION,
total DOUBLE PRECISION,
discount DOUBLE PRECISION,
created_at TIMESTAMP,
quantity INTEGER
);
-- REVIEWS table
CREATE TABLE reviews (
id BIGSERIAL PRIMARY KEY,
product_id INTEGER REFERENCES products(id) ON DELETE RESTRICT ON UPDATE RESTRICT,
reviewer VARCHAR(255),
rating SMALLINT,
body TEXT,
created_at TIMESTAMP
);