don't auto-add the column under non-mysql, RT#39250
[freeside.git] / FS / bin / freeside-cdr-asterisk_sql
index 8b51681..5c90ab4 100755 (executable)
@@ -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,16 +26,18 @@ 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(