diff options
author | ivan <ivan> | 2010-07-10 06:31:09 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-07-10 06:31:09 +0000 |
commit | 0998ca2d30dcd94bc1ea5db8e689ff30e7658baa (patch) | |
tree | d107a46204fea00b49de0b3b425fbf60b256f7ba | |
parent | 4b34c0c3dfc664793e5345c629e26c100e94aa22 (diff) |
more resilliant cdrbatch upgrade
-rw-r--r-- | FS/FS/cdr.pm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index bd0ed57e9..e8be08056 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -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; } |