Create Table orders
CREATE FUNCTION orders_on_create() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN NEW.remain_payment = NEW.total - (NEW.cash + NEW.payments); NEW.updated_at = now (); RETURN NEW; END ; $$; CREATE SEQUENCE orders_sequence AS INT START 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1 ; CREATE TABLE orders ( id INT NOT NULL DEFAULT nextval( 'orders_sequence' ::regclass), customer_id SMALLINT NOT NULL , sales_id SMALLINT NOT NULL , due_date TIMESTAMP NOT NULL , total NUMERIC ( 11 , 2 ) NOT NULL , cash NUMERIC ( 11 , 2 ) NOT NULL , payments NUMERIC ( 11 , 2 ) NOT NULL , remain_payment NUMERIC ( 11 , 2 ) NOT NULL , created_at TIMESTAMP NOT NULL , updated_at TIMESTAMP NOT NULL ); ALTER TABLE ONLY orders ADD CONSTRAINT pk_orders PRIMARY KEY (id); CREATE INDEX orders_ix_customers ON orders USING btree (customer_id); CREATE INDEX orders_ix_sales ON orders USING btre