From a0d87ad48e84a95d530d7f8cbf253fb29456f7d4 Mon Sep 17 00:00:00 2001
From: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Date: Thu, 30 Jan 2020 14:39:22 +0000
Subject: [PATCH] Bug 24532: Fix misidentified credit_types from bug 23049

---
 .../data/mysql/atomicupdate/bug_24532.perl    | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 installer/data/mysql/atomicupdate/bug_24532.perl

diff --git a/installer/data/mysql/atomicupdate/bug_24532.perl b/installer/data/mysql/atomicupdate/bug_24532.perl
new file mode 100644
index 0000000000..f5347e8728
--- /dev/null
+++ b/installer/data/mysql/atomicupdate/bug_24532.perl
@@ -0,0 +1,43 @@
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+
+    # Add any pathalogical incorrect debit_types as credit_types as appropriate
+    $dbh->do(
+        qq{
+          INSERT IGNORE INTO account_credit_types (
+            code,
+            description,
+            can_be_added_manually,
+            is_system
+          )
+          SELECT
+            DISTINCT(debit_type_code),
+            "Unexpected type found during upgrade",
+            1,
+            0
+          FROM
+            accountlines
+          WHERE
+            amount < 0
+          AND
+            debit_type_code IS NOT NULL
+        }
+    );
+
+    # Correct any pathalogical cases
+    $dbh->do( qq{
+      UPDATE
+        accountlines
+      SET
+        credit_type_code = debit_type_code,
+        debit_type_code = NULL
+      WHERE
+        amount < 0
+      AND
+        debit_type_code IS NOT NULL
+    });
+
+    # Always end with this (adjust the bug info)
+    SetVersion( $DBversion );
+    print "Upgrade to $DBversion done (Bug XXXXX - description)\n";
+}
-- 
2.20.1