From 35ac50b0ff66fc78aaa11baf8ae0199280645b96 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Thu, 31 Aug 2017 17:14:36 -0700 Subject: [PATCH] recover customer locations from history, RT#77268 --- bin/recover-cust_location | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 bin/recover-cust_location diff --git a/bin/recover-cust_location b/bin/recover-cust_location new file mode 100755 index 000000000..6318eb343 --- /dev/null +++ b/bin/recover-cust_location @@ -0,0 +1,33 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use FS::UID qw( adminsuidsetup ); +use FS::Record qw( qsearchs ); +use FS::h_cust_location; +use FS::cust_location; + +adminsuidsetup shift or &usage; +my $start = shift or &usage; +my $end = shift or &usage; + +for my $locationnum ( $start .. $end ) { + + my $h_cust_location = qsearchs({ + 'table' => 'h_cust_location', + 'hashref' => { 'locationnum' => $locationnum, }, + 'extra_sql' => " AND ( history_action = 'insert' OR history_action = 'replace_new' )", + 'order_by' => 'ORDER BY historynum DESC LIMIT 1', + }) + or die "h_cust_location for $locationnum not found\n"; + + warn "recovering cust_locaiton $locationnum\n"; + my $cust_location = new FS::cust_location { $h_cust_location->hash }; + my $error = $cust_location->insert; + die $error if $error; + +} + +sub usage { + die "Usage: recover-cust_location username start_locationnum end_locationnum\n"; +} -- 2.11.0