Bug 30069: (QA follow-up) Rebase and add filter

This patch now checks the status of messages and ignores any message
with a status of 'new'. It is also rebased to account for changes made
to cleanup_database.pl in bug 17350.

Test plan:
1) Ensure you have some EDI orders or even just some dummy messages in the edifact_messages table with a mixture of statuses including 'new'
2) Run perl misc/cronjobs/cleanup_database.pl --edifact-messages 100 --verbose (Change the number of days according to the data in your table)
3) The response should show a number of messages that would have been deleted
4) Run perl misc/cronjobs/cleanup_database.pl --edifact-messages 100 --verbose --confirm
5) The response should now show the same number of messages have been deleted
6) Check your edifact_messages table to confirm that the data has been deleted
7) Confirm that no messages marked 'new' have been deleted

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Matt Blenkinsop 2023-03-01 15:13:48 +00:00 committed by Tomas Cohen Arazi
parent ee91389edd
commit 6b90fa3ec4
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F

View file

@ -902,6 +902,7 @@ sub PurgeEdifactMessages {
SELECT id
FROM edifact_messages
WHERE transfer_date < date_sub(curdate(), INTERVAL ? DAY)
AND status != 'new';
}
);
$sth->execute($days) or die $dbh->errstr;