more resilliant cdrbatch upgrade
authorivan <ivan>
Sat, 10 Jul 2010 06:31:09 +0000 (06:31 +0000)
committerivan <ivan>
Sat, 10 Jul 2010 06:31:09 +0000 (06:31 +0000)
FS/FS/cdr.pm

index bd0ed57..e8be080 100644 (file)
@@ -899,9 +899,14 @@ sub _upgrade_data {
 
   my %cdrbatchnum = ();
   while (my $row = $sth->fetchrow_arrayref) {
-    my $cdr_batch = new FS::cdr_batch { 'cdrbatch' => $row->[0] };
-    my $error = $cdr_batch->insert;
-    die $error if $error;
+
+    my $cdr_batch = qsearchs( 'cdr_batch', { 'cdrbatch' => $row->[0] } );
+    unless ( $cdr_batch ) {
+      $cdr_batch = new FS::cdr_batch { 'cdrbatch' => $row->[0] };
+      my $error = $cdr_batch->insert;
+      die $error if $error;
+    }
+
     $cdrbatchnum{$row->[0]} = $cdr_batch->cdrbatchnum;
   }