LP#1286340 - Update fieldmapper and continue to improve upgrade script
authorChris Sharp <csharp@georgialibraries.org>
Fri, 18 Nov 2016 20:46:55 +0000 (15:46 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Wed, 8 Nov 2017 03:52:43 +0000 (22:52 -0500)
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/200.schema.acq.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.delete_acq_purchase_orders.sql

index 6b763dd..f6a4ea6 100644 (file)
@@ -8917,6 +8917,7 @@ SELECT  usr,
                        <field reporter:label="Amount Spent" name="amount_spent" oils_persist:virtual="true" reporter:datatype="float" />
                        <field reporter:label="Amount Estimated" name="amount_estimated" oils_persist:virtual="true" reporter:datatype="float" />
                        <field reporter:label="PO Items" name="po_items" oils_persist:virtual="true" reporter:datatype="link" />
+                       <field reporter:label="Deleted" name="deleted" reporter:datatype="bool" />
                </fields>
                <links>
                        <link field="owner" reltype="has_a" key="id" map="" class="au"/>
@@ -8958,6 +8959,7 @@ SELECT  usr,
                        <field reporter:label="Name" name="name" reporter:datatype="text"/>
                        <field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link"/>
                        <field reporter:label="Prepayment Required" name="prepayment_required" reporter:datatype="bool" />
+                       <field reporter:label="Deleted" name="deleted" reporter:datatype="bool" />
                </fields>
                <links>
                        <link field="id" reltype="has_a" key="id" map="" class="acqpo"/>
@@ -9021,6 +9023,7 @@ SELECT  usr,
                        <field reporter:label="Estimated Cost" name="estimated_cost" reporter:datatype="money"/>
                        <field reporter:label="Fund" name="fund" reporter:datatype="link"/>
                        <field reporter:label="Target" name="target" reporter:datatype="int" />
+                       <field reporter:label="Deleted" name="deleted" reporter:datatype="bool" />
                </fields>
                <links>
                        <link field="purchase_order" reltype="has_a" key="id" map="" class="acqpo"/>
@@ -9073,6 +9076,7 @@ SELECT  usr,
                        <field reporter:label="Distribution Formulas" name="distribution_formulas" oils_persist:virtual="true" reporter:datatype="link" />
                        <field reporter:label="Invoice Entries" name="invoice_entries" oils_persist:virtual="true" reporter:datatype="link" />
                        <field reporter:label="Order Summary" name="order_summary" oils_persist:virtual="true" reporter:datatype="link" />
+                       <field reporter:label="Deleted" name="deleted" reporter:datatype="bool" />
                </fields>
                <links>
                        <link field="selector" reltype="has_a" key="id" map="" class="au"/>
@@ -9125,6 +9129,7 @@ SELECT  usr,
                        <field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link"/>
                        <field reporter:label="Estimated Unit Price" name="estimated_unit_price" reporter:datatype="money" />
                        <field reporter:label="Queued Vandelay Record" name="queued_record" reporter:datatype="link" />
+                       <field reporter:label="Deleted" name="deleted" reporter:datatype="bool" />
                </fields>
                <links>
                        <link field="id" reltype="has_a" key="id" map="" class="jub"/>
@@ -9223,6 +9228,7 @@ SELECT  usr,
                        <field reporter:label="Collection Code" name="collection_code" reporter:datatype="text" />
                        <field reporter:label="Cancel Reason" name="cancel_reason" reporter:datatype="link" />
                        <field reporter:label="Claims" name="claims" reporter:datatype="link" oils_persist:virtual="true" />
+                       <field reporter:label="Deleted" name="deleted" reporter:datatype="bool" />
                </fields>
                <links>
                        <link field="lineitem" reltype="has_a" key="id" map="" class="jub"/>
index 42ee49f..3d66c42 100644 (file)
@@ -488,6 +488,7 @@ CREATE TABLE acq.lineitem (
                                                                DEFERRABLE INITIALLY DEFERRED,
     queued_record       BIGINT                      REFERENCES vandelay.queued_bib_record (id)
                                                         ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED,
+       deleted             BOOLEAN                     NOT NULL DEFAULT FALSE,
     CONSTRAINT picklist_or_po CHECK (picklist IS NOT NULL OR purchase_order IS NOT NULL)
 );
 CREATE INDEX li_po_idx ON acq.lineitem (purchase_order);
@@ -538,7 +539,8 @@ CREATE TABLE acq.lineitem_detail (
     location    INT         REFERENCES asset.copy_location (id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED,
     recv_time   TIMESTAMP WITH TIME ZONE,
        receiver                INT         REFERENCES actor.usr (id) DEFERRABLE INITIALLY DEFERRED,
-       cancel_reason   INT     REFERENCES acq.cancel_reason( id ) DEFERRABLE INITIALLY DEFERRED
+       cancel_reason   INT     REFERENCES acq.cancel_reason( id ) DEFERRABLE INITIALLY DEFERRED,
+       deleted       BOOLEAN     NOT NULL DEFAULT FALSE
 );
 
 CREATE INDEX li_detail_li_idx ON acq.lineitem_detail (lineitem);
@@ -908,6 +910,7 @@ CREATE TABLE acq.po_item (
        estimated_cost  NUMERIC(8,2),
        fund            INT         REFERENCES acq.fund (id)
                                    DEFERRABLE INITIALLY DEFERRED,
+       deleted         BOOLEAN     NOT NULL DEFAULT FALSE,
     target          BIGINT
 );
 
index 7be55a4..36764b7 100644 (file)
@@ -7,6 +7,14 @@ ALTER TABLE acq.lineitem ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE;
 ALTER TABLE acq.lineitem_detail ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE;
 ALTER TABLE acq.po_item ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE;
 ALTER TABLE acq.acq_purchase_order_history ADD COLUMN deleted BOOLEAN NOT NULL;
+ALTER TABLE acq.acq_purchase_order_lifecycle ADD COLUMN deleted BOOLEAN NOT NULL;
+ALTER TABLE acq.acq_lineitem_history ADD COLUMN deleted BOOLEAN NOT NULL;
+ALTER TABLE acq.acq_lineitem_lifecycle ADD COLUMN deleted BOOLEAN NOT NULL;
+-- just in case the upgraded DB has these auditor tables, change them too
+ALTER TABLE IF EXISTS auditor.acq_lineitem_detail_history ADD COLUMN deleted BOOLEAN NOT NULL;
+ALTER TABLE IF EXISTS auditor.acq_lineitem_detail_lifecycle ADD COLUMN deleted BOOLEAN NOT NULL;
+ALTER TABLE IF EXISTS auditor.acq_po_item_history ADD COLUMN deleted BOOLEAN NOT NULL;
+ALTER TABLE IF EXISTS auditor.acq_po_item_lifecycle ADD COLUMN deleted BOOLEAN NOT NULL;
 
 CREATE RULE protect_purchase_order_delete AS ON DELETE TO acq.purchase_order DO INSTEAD UPDATE acq.purchase_order SET deleted = TRUE WHERE OLD.id = acq.purchase_order.id;
 CREATE RULE protect_lineitem_delete AS ON DELETE TO acq.lineitem DO INSTEAD UPDATE acq.lineitem SET deleted = TRUE WHERE OLD.id = acq.lineitem.id;