DataObjects/ProjectDirectory.php
[Pman.Core] / UpdateDatabase.php
index f1737fa..893736b 100644 (file)
@@ -9,7 +9,7 @@ class Pman_Core_UpdateDatabase extends Pman
     static $cli_desc = "Update SQL - Beta";
  
  
-  
+    
     var $cli = false;
     function getAuth() {
         
@@ -84,7 +84,12 @@ class Pman_Core_UpdateDatabase extends Pman
                 if (preg_match('/migrate/i', basename($fn))) { // skip migration scripts at present..
                     continue;
                 }
-                
+                // .my.sql but not .pg.sql
+                if (preg_match('/#.[a-z]{2}\.sql#i', basename($bfn))
+                    && !preg_match('/#\.my\.sql#i', basename($bfn))
+                ) { // skip migration scripts at present..
+                    continue;
+                }
                 $cmd = "$mysql_cmd -f < " . escapeshellarg($fn) ;
                 
                 echo $cmd. ($this->cli ? "\n" : "<BR>\n");
@@ -128,21 +133,30 @@ class Pman_Core_UpdateDatabase extends Pman
             
             $fd = $this->rootDir. "/Pman/$m/DataObjects";
             
-            foreach(glob($fd.'/*.sql') as $fn) {
+            foreach(glob($fd.'/*.sql') as $bfn) {
                 
                  
-                if (preg_match('/migrate/i', basename($fn))) { // skip migration scripts at present..
+                if (preg_match('/migrate/i', basename($bfn))) { // skip migration scripts at present..
                     continue;
                 }
-                $fn = $this->convertToPG($fn);
+                if (preg_match('#\.[a-z]{2}\.sql#i', basename($bfn))
+                    && !preg_match('#\.pg\.sql#i', basename($bfn))
+                ) { // skip migration scripts at present..
+                    continue;
+                }
+                // files ending in .pg.sql are native postgres files..
+                $fn = preg_match('#\.pg\.sql$#', basename($bfn)) ? false : $this->convertToPG($bfn);
                 
-                $cmd = "$psql_cmd -f  " . escapeshellarg($fn) ;
+                $cmd = "$psql_cmd -f  " . escapeshellarg($fn ? $fn : $bfn) . ' 2>&1' ;
+                
+                echo "$bfn:   $cmd ". ($this->cli ? "\n" : "<BR>\n");
                 
-                echo $cmd. ($this->cli ? "\n" : "<BR>\n");
                 
                 passthru($cmd);
-            
-                unlink($fn);
+                
+                if ($fn) {
+                    unlink($fn);
+                }
             }
         }
         
@@ -152,7 +166,7 @@ class Pman_Core_UpdateDatabase extends Pman
      */
     function convertToPG($src)
     {
-        $fn = $this->tempName('.sql');
+        $fn = $this->tempName('sql');
         
         $ret = array( ); // pad it a bit.
         $extra = array("", "" );
@@ -201,7 +215,7 @@ class Pman_Core_UpdateDatabase extends Pman
         }
         $ret = array_merge($extra,$ret);
         
-        echo implode("\n", $ret); //exit;
+        //echo implode("\n", $ret); //exit;
         file_put_contents($fn, implode("\n", $ret));
         
         return $fn;