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 /FS | |
| parent | 4b34c0c3dfc664793e5345c629e26c100e94aa22 (diff) | |
more resilliant cdrbatch upgrade
Diffstat (limited to 'FS')
| -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;    } | 
