]> git.nbdom.net Git - nb.git/commitdiff
create index
authorNicolas Boisselier <nicolas.boisselier@semantico.com>
Tue, 5 Jul 2016 15:13:32 +0000 (16:13 +0100)
committerNicolas Boisselier <nicolas.boisselier@semantico.com>
Tue, 5 Jul 2016 15:13:32 +0000 (16:13 +0100)
lib/php/db.php

index 234202579e62bd095a29f0f3ad694be6165ab026..bb268c4a2cd21a4f3875f64a3a9f4c0d502e9772 100644 (file)
@@ -618,10 +618,11 @@ class Db extends nb {
     #if (NB_EOL == "\n")
 
     # Cache before changing db type
-    foreach ($tables as $t) {
+    foreach ($tables as $k=>$t) {
       unset($t->orderby);
       $t->fields();
       $t->sql();
+      if ($t->type == 'sql') unset($tables[$k]);
     }
 
     echo ''
@@ -637,7 +638,7 @@ class Db extends nb {
     }
 
     $type = self::p('type','');
-    $name = self::p('name','');
+    $name = self::p('name',self::p('table',''));
 
     foreach ($this->sql_exec() as $s) {
       echo rtrim($s,';').";\n";
@@ -653,7 +654,12 @@ class Db extends nb {
       }
       #echo 'DROP TABLE IF EXISTS '.$t->sql_name().';'.NB_EOL;
       echo 'DROP '.strtoupper($t->type).' IF EXISTS '.$t->sql_name().';'.NB_EOL;
-      echo str_replace(';CREATE',";\nCREATE",rtrim($t->create(),';')).';'.NB_EOL;
+
+      $sql = rtrim($t->create(),';');
+      $sql = str_replace(';CREATE',";\nCREATE",$sql);
+      #$sql = preg_replace('/;CREATE\s+(INDEX)\s+(\S+)(\s+ON\s+\S+[^;]+)/',";\nDROP $1 IF EXISTS $2;\nCREATE $1 $2",$sql);
+      echo $sql.';'.NB_EOL;
+
       if ($insert and $t->type == 'table') $t->rows();
       #break;
     }