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,2NOT 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

Popular posts from this blog

Komputer Lambat

Create Table orders