$ff = HTML_FlexyFramework::get();
- if(!empty($ff->Core_Notify)){
- print_R($ff->Core_Notify);
- }
- exit;
$this->disabled = explode(',', $ff->disable);
//$this->fixSequencesPgsql();exit;
$ar = $this->modulesList();
+
foreach($ar as $m) {
if(in_array($m, $this->disabled)){
continue;
}
- $cmd = "$mysql_cmd -f < " . escapeshellarg($fn) ;
+ $cmd = "$mysql_cmd -f < " . escapeshellarg($fn) ." 2>&1" ;
echo basename($dir).'/'. basename($fn) . '::' . $cmd. ($this->cli ? "\n" : "<BR>\n");
- passthru($cmd);
+
+ $fp = popen($cmd, "r");
+ while(!feof($fp))
+ {
+ // send the current file part to the browser
+ $line = trim(fgets($fp, 1024));
+ $matches = array();
+ if (!preg_match('/^ERROR\s+([0-9]+)/', $line, $matches)) {
+ echo "OK - {$line}\n"; flush();
+ continue;
+ }
+ $continue =0;
+ switch($matches[1]) {
+ case 1050: // create tables triggers this..
+ case 1060: // Duplicate column name
+ case 1061: // Duplicate key name - triggered by add index.. but could hide error. - unlikely though.
+ case 1091: // drop index -- name does not exist.. might hide errors..
+
+ case 1054: // Unknown column -- triggered by CHANGE COLUMN - but may hide other errrors..
+ $continue = 1;
+ break;
+
+ }
+ if ($continue) {
+ echo "IGNORE - {$line}\n"; flush();
+ continue;
+ }
+ // real errors...
+ // 1051: // Unknown table -- normally drop = add iff exists..
+ echo "File: $fn\n$line\n";
+ exit;
+
+
+ }
+
}