[Rt-commit] rt branch, 4.4/sla-upgrade-dates, created. rt-4.4.0-109-g11db86c

Shawn Moore shawn at bestpractical.com
Wed May 11 15:28:09 EDT 2016


The branch, 4.4/sla-upgrade-dates has been created
        at  11db86c3edb7cfcf0de9ae98133c70ffb61801ae (commit)

- Log -----------------------------------------------------------------
commit 11db86c3edb7cfcf0de9ae98133c70ffb61801ae
Author: Shawn M Moore <shawn at bestpractical.com>
Date:   Wed May 11 19:25:56 2016 +0000

    Avoid setting last updated and creating a txn for SLA upgrades
    
        This is just moving internal data around, so it's not worth
        screwing up reporting and adding noise to the history.
    
    Fixes: I#31924

diff --git a/etc/upgrade/upgrade-sla.in b/etc/upgrade/upgrade-sla.in
index 5e8635c..d88ed92 100644
--- a/etc/upgrade/upgrade-sla.in
+++ b/etc/upgrade/upgrade-sla.in
@@ -56,12 +56,25 @@ use lib "@RT_LIB_PATH@";
 use RT::Interface::CLI qw(Init);
 Init();
 
-my $tickets = RT::Tickets->new(RT->SystemUser);
-$tickets->FromSQL('CF.SLA IS NOT NULL AND SLA IS NULL');
-while ( my $ticket = $tickets->Next ) {
-    my ($ret, $msg) = $ticket->SetSLA($ticket->FirstCustomFieldValue('SLA'));
-    unless ( $ret ) {
-        RT->Logger->error("Failed to upgrade SLA for ticket #" . $ticket->id . ": $msg");
+{
+    local *RT::Ticket::_SetLastUpdated = sub {
+        return (1, "Migrating SLA from CF to core field silently");
+    };
+
+    my $tickets = RT::Tickets->new(RT->SystemUser);
+    $tickets->FromSQL('CF.SLA IS NOT NULL AND SLA IS NULL');
+    while ( my $ticket = $tickets->Next ) {
+        my $SLA = $ticket->FirstCustomFieldValue('SLA');
+
+        my ($ret, $msg) = $ticket->_Set(
+            Field => 'SLA',
+            Value => $SLA,
+            RecordTransaction => 0,
+        );
+
+        unless ( $ret ) {
+            RT->Logger->error("Failed to upgrade SLA for ticket #" . $ticket->id . ": $msg");
+        }
     }
 }
 

-----------------------------------------------------------------------


More information about the rt-commit mailing list