Skip to content

Commit

Permalink
#10536 added cleanup commented scripts to migration script
Browse files Browse the repository at this point in the history
  • Loading branch information
adi-stefan committed Jan 21, 2021
1 parent ae6f7fb commit 407ebb7
Showing 1 changed file with 53 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,56 @@ INSERT INTO AD_Index_Column (AD_Client_ID,AD_Column_ID,AD_Index_Column_ID,AD_Ind
CREATE UNIQUE INDEX C_Invoice_Reversal_ID ON C_Invoice (Reversal_ID)
;

-- When this migration script is failing, it's because there are multiple reversals for the same invoice ID.
-- In this case, manually run the below script.
/*
BEGIN;
CREATE TEMP TABLE Original_C_Invoice_IDs_With_Duplicate_Reversals
AS
SELECT c_invoice_id FROM c_invoice WHERE c_invoice_id in (SELECT reversal_id as c_invoice_id FROM (SELECT sum(1) AS total, reversal_id FROM c_invoice WHERE reversal_id IS NOT NULL GROUP BY reversal_id) a WHERE a.total > 1);
CREATE TEMP TABLE Duplicate_C_Invoice_IDs
AS
SELECT c_invoice_id FROM c_invoice WHERE c_invoice_id NOT IN (SELECT reversal_id FROM c_invoice WHERE c_invoice_id in (select c_invoice_id from Original_C_Invoice_IDs_With_Duplicate_Reversals)) AND reversal_id IN (SELECT c_invoice_id FROM Original_C_Invoice_IDs_With_Duplicate_Reversals);
CREATE TEMP TABLE Duplicate_C_AllocationHrd_Ids
AS
SELECT c_allocationhdr_id FROM c_allocationline WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
CREATE TABLE backup.BKP_Duplicate_C_Invoice_20210120
AS
SELECT * FROM c_invoice WHERE c_invoice_id in (SELECT reversal_id as c_invoice_id FROM (SELECT sum(1) AS total, reversal_id FROM c_invoice WHERE reversal_id IS NOT NULL GROUP BY reversal_id) a WHERE a.total > 1);
CREATE TABLE backup.BKP_C_AllocationLine_20210120
AS
SELECT * FROM C_AllocationLine WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
CREATE TABLE backup.BKP_M_MatchInv_20210120
AS
SELECT * FROM M_MatchInv WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
CREATE TABLE backup.BKP_C_InvoiceLine_20210120
AS
SELECT * FROM C_InvoiceLine WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
CREATE TABLE backup.BKP_C_InvoiceLine_Alloc_20210120
AS
SELECT * FROM c_invoice_line_alloc WHERE c_invoiceline_id IN (SELECT c_invoiceline_id FROM c_invoiceline WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs));
CREATE TABLE backup.BKP_C_AllocationHdr_20210120
AS
SELECT * FROM C_AllocationHdr WHERE c_allocationhdr_id IN (SELECT c_allocationhdr_id FROM c_allocationline WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs));
--fact_acct data can be repopulated, no need to backup
DELETE FROM fact_acct WHERE ad_table_id=get_table_id('C_Invoice') AND record_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
DELETE FROM c_invoice_line_alloc where c_invoiceline_id IN (SELECT c_invoiceline_id FROM c_invoiceline WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs));
DELETE FROM m_matchinv WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
DELETE FROM c_allocationline WHERE c_allocationhdr_id IN (SELECT c_allocationhdr_id from Duplicate_C_AllocationHrd_Ids);
DELETE FROM C_AllocationHdr WHERE c_allocationhdr_id IN (SELECT c_allocationhdr_id from Duplicate_C_AllocationHrd_Ids);
DELETE FROM c_invoiceline WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
DELETE FROM c_invoice WHERE c_invoice_id in (select c_invoice_id from Duplicate_C_Invoice_IDs);
COMMIT;*/

0 comments on commit 407ebb7

Please sign in to comment.