restore missing signup dates during upgrade, RT#9972
authormark <mark>
Wed, 29 Sep 2010 18:39:04 +0000 (18:39 +0000)
committermark <mark>
Wed, 29 Sep 2010 18:39:04 +0000 (18:39 +0000)
FS/FS/cust_main.pm

index b1b2753..fc781d2 100644 (file)
@@ -4609,9 +4609,13 @@ sub process_bill_and_collect {
 sub _upgrade_data { #class method
   my ($class, %opts) = @_;
 
-  my $sql = 'UPDATE h_cust_main SET paycvv = NULL WHERE paycvv IS NOT NULL';
-  my $sth = dbh->prepare($sql) or die dbh->errstr;
-  $sth->execute or die $sth->errstr;
+  foreach my $sql (
+    'UPDATE h_cust_main SET paycvv = NULL WHERE paycvv IS NOT NULL',
+    'UPDATE cust_main SET signupdate = (SELECT signupdate FROM h_cust_main WHERE h_cust_main.custnum = cust_main.custnum ORDER BY historynum ASC LIMIT 1) WHERE signupdate IS NULL',
+  ) {
+    my $sth = dbh->prepare($sql) or die dbh->errstr;
+    $sth->execute or die $sth->errstr;
+  }
 
   local($ignore_expired_card) = 1;
   local($ignore_illegal_zip) = 1;