- -- linuxpoet:
- -- adding primary key to acc_trans
- -- We are using standard postgresql names for the sequence for consistency as we move forward
- -- Do everything in a transaction in case it blows up
- BEGIN;
- LOCK acc_trans in EXCLUSIVE mode;
- ALTER TABLE acc_trans ADD COLUMN entry_id bigint;
- CREATE SEQUENCE acctrans_entry_id_seq;
- ALTER TABLE acc_trans ALTER COLUMN entry_id SET DEFAULT nextval('acctrans_entry_id_seq');
- UPDATE acc_trans SET entry_id = nextval('acctrans_entry_id_seq');
- ALTER TABLE acc_trans ADD PRIMARY key (entry_id);
- -- Start changing floats
- ALTER TABLE acc_trans ALTER COLUMN amount TYPE numeric(10,2);
- -- This may break someone if they for some reason have an actual float type in the qty column
- ALTER TABLE invoice ALTER COLUMN qty TYPE numeric;
- ALTER TABLE invoice ALTER COLUMN allocated TYPE numeric;
- ALTER TABLE invoice ALTER COLUMN sellprice TYPE numeric(10,2);
- ALTER TABLE invoice ALTER COLUMN fxsellprice TYPE numeric(10,2);
- ALTER TABLE customer ALTER COLUMN discount TYPE numeric;
- ALTER TABLE customer ALTER COLUMN creditlimit TYPE numeric(10,2);
- ALTER TABLE parts ALTER COLUMN listprice TYPE numeric(10,2);
- ALTER TABLE parts ALTER COLUMN sellprice TYPE numeric(10,2);
- ALTER TABLE parts ALTER COLUMN lastcost TYPE numeric(10,2);
- ALTER TABLE parts ALTER COLUMN weight TYPE numeric;
- ALTER TABLE parts ALTER COLUMN onhand TYPE numeric;
- ALTER TABLE parts ALTER COLUMN avgcost TYPE numeric(10,2);
- ALTER TABLE assembly ALTER COLUMN qty TYPE numeric;
- ALTER TABLE ar ALTER COLUMN amount TYPE numeric(10,2);
- ALTER TABLE ar ALTER COLUMN netamount TYPE numeric(10,2);
- ALTER TABLE ar ALTER COLUMN paid TYPE numeric(10,2);
- ALTER TABLE ap ALTER COLUMN amount TYPE numeric(10,2);
- ALTER TABLE ap ALTER COLUMN netamount TYPE numeric(10,2);
- ALTER TABLE ap ALTER COLUMN paid TYPE numeric(10,2);
- ALTER TABLE tax ALTER COLUMN rate TYPE numeric;
- ALTER TABLE oe ALTER COLUMN amount TYPE numeric(10,2);
- ALTER TABLE oe ALTER COLUMN netamount TYPE numeric(10,2);
- ALTER TABLE orderitems ALTER COLUMN qty TYPE numeric;
- ALTER TABLE orderitems ALTER COLUMN sellprice TYPE numeric(10,2);
- ALTER TABLE orderitems ALTER COLUMN discount TYPE numeric;
- ALTER TABLE orderitems ALTER COLUMN ship TYPE numeric;
- ALTER TABLE exchangerate ALTER COLUMN buy TYPE numeric;
- ALTER TABLE exchangerate ALTER COLUMN sell TYPE numeric;
- ALTER TABLE vendor ALTER COLUMN discount TYPE numeric;
- ALTER TABLE vendor ALTER COLUMN creditlimit TYPE numeric;
- ALTER TABLE project ALTER COLUMN production TYPE numeric;
- ALTER TABLE project ALTER COLUMN completed TYPE numeric;
- ALTER TABLE business ALTER COLUMN discount TYPE numeric;
- ALTER TABLE inventory ALTER COLUMN qty TYPE numeric;
- ALTER TABLE partsvendor ALTER COLUMN lastcost TYPE numeric(10,2);
- ALTER TABLE partscustomer ALTER COLUMN pricebreak TYPE numeric;
- ALTER TABLE partscustomer ALTER COLUMN sellprice TYPE numeric(10,2);
- ALTER TABLE jcitems ALTER COLUMN qty TYPE numeric;
- ALTER TABLE jcitems ALTER COLUMN allocated TYPE numeric;
- ALTER TABLE jcitems ALTER COLUMN sellprice TYPE numeric(10,2);
- ALTER TABLE jcitems ALTER COLUMN fxsellprice TYPE numeric(10,2);
- -- The query rewrite rule necessary to notify the email app that a new report
- -- needs to be sent to the designated administrator.
- -- By Chris Travers
- -- chris@metatrontech.com
- -- Licensed under the GNU GPL 2.0 or later at your option. See accompanying
- -- GPL.txt
- CREATE OR REPLACE FUNCTION trigger_parts_short() RETURNS TRIGGER
- AS
- '
- BEGIN
- IF NEW.onhand >= NEW.rop THEN
- NOTIFY parts_short;
- END IF;
- RETURN NEW;
- END;
- ' LANGUAGE PLPGSQL;
- CREATE TRIGGER parts_short AFTER UPDATE ON parts
- FOR EACH ROW EXECUTE PROCEDURE trigger_parts_short();
- COMMIT;
|