X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-cdr-asterisk_sql;h=4d4d6487e9126cb4e21e346ff473545e939946e0;hb=00e8f9bf7f0382d8bd82c7e806bc79a1e0e89589;hp=8b51681fff014197b19f81cef5e65e65000715a4;hpb=c477cb74a5d4fe919a750062f16833666ef94a30;p=freeside.git diff --git a/FS/bin/freeside-cdr-asterisk_sql b/FS/bin/freeside-cdr-asterisk_sql index 8b51681ff..4d4d6487e 100755 --- a/FS/bin/freeside-cdr-asterisk_sql +++ b/FS/bin/freeside-cdr-asterisk_sql @@ -16,8 +16,8 @@ my $user = shift or die &usage; my $engine = $opt{e} || 'mysql'; my $dsn = "dbi:$engine"; -$dsn .= ":database=$opt{D}" if $opt{D}; -$dsn .= ":host=$opt{H}" if $opt{H}; +$dsn .= ":database=$opt{D}"; # if $opt{D}; +$dsn .= ";host=$opt{H}" if $opt{H}; my $dbi = DBI->connect($dsn, $opt{U}, $opt{P}) or die $DBI::errstr; @@ -26,23 +26,25 @@ adminsuidsetup $user; my $fsdbh = FS::UID::dbh; -# check for existence of freesidestatus my $table = $opt{T} || 'cdr'; -my $status = $dbi->selectall_arrayref("SHOW COLUMNS FROM $table WHERE Field = 'freesidestatus'"); -if( ! @$status ) { - print "Adding freesidestatus column...\n"; - $dbi->do("ALTER TABLE $table ADD COLUMN freesidestatus varchar(32)") - or die $dbi->errstr; -} -else { - print "freesidestatus column present\n"; + +# check for existence of freesidestatus +if ( $engine =~ /^mysql/ ) { + my $status = $dbi->selectall_arrayref("SHOW COLUMNS FROM $table WHERE Field = 'freesidestatus'"); + if( ! @$status ) { + print "Adding freesidestatus column...\n"; + $dbi->do("ALTER TABLE $table ADD COLUMN freesidestatus varchar(32)") + or die $dbi->errstr; + } else { + print "freesidestatus column present\n"; + } } my @cols = ( qw( calldate clid src dst dcontext channel lastapp lastdata duration billsec disposition amaflags accountcode uniqueid userfield) ); my $sql = 'SELECT '.join(',', @cols). " FROM $table WHERE freesidestatus IS NULL"; -my $sth = $sql->prepare($sql); +my $sth = $dbi->prepare($sql); $sth->execute; print "Importing ".$sth->rows." records...\n";