Track order insert date
[app-web-oof.git] / db.sql
CommitLineData
6e33dd68 1CREATE TABLE IF NOT EXISTS products (
8bbff1bc
MG
2 product serial PRIMARY KEY,
3 title TEXT NOT NULL,
4 subtitle TEXT NOT NULL,
5 summary TEXT NOT NULL,
6 price INT NOT NULL,
7 stock INT NOT NULL,
8 freepost BOOLEAN NOT NULL DEFAULT FALSE,
6e33dd68
MG
9 CONSTRAINT positive_stock CHECK (stock >= 0)
10);
11
12CREATE TABLE IF NOT EXISTS discounts (
13 discount VARCHAR(20) PRIMARY KEY,
14 fraction DECIMAL,
15 flat INT,
16 CONSTRAINT fraction_xor_flat CHECK ((fraction IS NULL AND flat IS NOT NULL) OR (fraction IS NOT NULL AND flat IS NULL))
17);
18
19CREATE TABLE IF NOT EXISTS orders (
20 id TEXT PRIMARY KEY,
defe4693 21 date BIGINT NOT NULL,
6e33dd68
MG
22 products JSON NOT NULL,
23 total INT NOT NULL,
24 discount VARCHAR(20) REFERENCES discounts UNIQUE,
25
1576fc41
MG
26 stripe_token TEXT,
27
6e33dd68
MG
28 -- DELIVERY
29 first_name VARCHAR(20) NOT NULL,
30 last_name VARCHAR(20) NOT NULL,
31 email VARCHAR(80) NOT NULL,
32 phone VARCHAR(20),
33 postcode VARCHAR(10) NOT NULL,
34 address1 VARCHAR(32) NOT NULL,
35 address2 VARCHAR(32),
36 address3 VARCHAR(32),
37 address4 VARCHAR(32),
38 safe_place VARCHAR(32),
39 instructions VARCHAR(32)
40);
This page took 0.011868 seconds and 4 git commands to generate.