-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPostgress-database.txt
69 lines (62 loc) · 2.11 KB
/
Postgress-database.txt
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
CREATE TABLE IF NOT EXISTS users (
id serial PRIMARY KEY,
username TEXT NOT NULL,
hash TEXT NOT NULL,
income REAL NOT NULL DEFAULT 60000.00,
registerdate TEXT NOT NULL,
lastlogin TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS budgets (
id serial PRIMARY KEY,
name TEXT NOT NULL,
amount REAL,
user_id INTEGER NOT NULL,
CONSTRAINT budgets_user_id_fkey FOREIGN KEY (user_id)
REFERENCES users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE IF NOT EXISTS categories (
id serial PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS userCategories (
category_id INTEGER NOT NULL,
user_id INTEGER NOT NULL,
CONSTRAINT userCategories_category_id_fkey FOREIGN KEY (category_id)
REFERENCES categories (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT userCategories_user_id_fkey FOREIGN KEY (user_id)
REFERENCES users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE IF NOT EXISTS budgetCategories (
budgets_id INTEGER NOT NULL,
category_id INTEGER NOT NULL,
amount REAL NOT NULL DEFAULT 0,
CONSTRAINT budgetCategories_budgets_id_fkey FOREIGN KEY (budgets_id)
REFERENCES budgets(id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT budgetCategories_category_id_fkey FOREIGN KEY (category_id)
REFERENCES categories (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE IF NOT EXISTS expenses (
id serial PRIMARY KEY,
description TEXT NOT NULL,
category TEXT NOT NULL,
expensedate TEXT NOT NULL,
amount REAL NOT NULL,
submittime TEXT NOT NULL,
user_id INTEGER,
CONSTRAINT budgets_user_id_fkey FOREIGN KEY (user_id)
REFERENCES users (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
);
INSERT INTO categories(name) VALUES ('Groceries');
INSERT INTO categories(name) VALUES ('Housing');
INSERT INTO categories(name) VALUES ('Utilities');
INSERT INTO categories(name) VALUES ('Dining Out');
INSERT INTO categories(name) VALUES ('Shopping');
INSERT INTO categories(name) VALUES ('Travel');
INSERT INTO categories(name) VALUES ('Entertainment');
INSERT INTO categories(name) VALUES ('Other');