· 7 years ago · Jan 17, 2019, 03:56 PM
1CREATE TABLE product (
2 id UUID PRIMARY KEY,
3 name VARCHAR(64) NOT NULL,
4 -- max 999999.9999
5 price_amount NUMERIC(10, 4) NOT NULL CHECK (price_amount >= 0),
6 price_currency VARCHAR(10) NOT NULL,
7 created_at TIMESTAMP WITH TIME ZONE NOT NULL,
8 updated_at TIMESTAMP WITH TIME ZONE NULL
9);
10
11CREATE TABLE product_price (
12 product_id VARCHAR(64) REFERENCES product,
13 money_currency VARCHAR(10) NOT NULL,
14 money_amount NUMERIC(10, 4) NOT NULL CHECK (money_amount >= 0),
15 UNIQUE(product_id, money_currency)
16);
17
18CREATE INDEX idx_payment_by_user_priceamount ON payment (user_id, price_amount);
19
20ALTER TABLE payment ADD COLUMN payment_method VARCHAR(128);
21
22ALTER TABLE payment DROP COLUMN IF EXISTS payment_method;