Create Table Payments
CREATE SEQUENCE payments_sequence
AS INT
START 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
CREATE TABLE payments (
id INT NOT NULL DEFAULT nextval('payments_sequence'::regclass),
order_id INT NOT NULL,
method_id SMALLINT NOT NULL,
amount NUMERIC(11,2) NOT NULL,
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP NOT NULL
);
ALTER TABLE ONLY payments
ADD CONSTRAINT pk_payments PRIMARY KEY (id);
CREATE INDEX payments_ix_orders ON payments
USING btree (order_id);
CREATE TRIGGER payments_trig_create
BEFORE INSERT ON payments FOR EACH ROW
EXECUTE FUNCTION timestamp_on_create();
CREATE TRIGGER payments_trig_update
BEFORE UPDATE ON payments FOR EACH ROW
EXECUTE FUNCTION timestamp_on_update();
ALTER TABLE ONLY payments
ADD CONSTRAINT payments_fk_orders
FOREIGN KEY (order_id)
REFERENCES orders(id)
ON UPDATE CASCADE
ON DELETE RESTRICT;
Comments
Post a Comment