comparison program/include/rcmail_install.php @ 26:c4ade3f35fb2

colourise?
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Wed, 10 Dec 2025 19:13:31 +0000
parents 4681f974d28b
children
comparison
equal deleted inserted replaced
25:bea5a38be938 26:c4ade3f35fb2
449 449
450 // read reference schema from mysql.initial.sql 450 // read reference schema from mysql.initial.sql
451 $engine = $db->db_provider; 451 $engine = $db->db_provider;
452 $db_schema = $this->db_read_schema(INSTALL_PATH . "SQL/$engine.initial.sql"); 452 $db_schema = $this->db_read_schema(INSTALL_PATH . "SQL/$engine.initial.sql");
453 $errors = array(); 453 $errors = array();
454 454 echo "<p style='color: red'>engin: $engine</p>";
455 // check list of tables 455 // check list of tables
456 $existing_tables = $db->list_tables(); 456 $existing_tables = $db->list_tables();
457 457
458 foreach ($db_schema as $table => $cols) { 458 foreach ($db_schema as $table => $cols) {
459
460
459 $table = $this->config['db_prefix'] . $table; 461 $table = $this->config['db_prefix'] . $table;
460 462
461 if (!in_array($table, $existing_tables)) { 463 if (!in_array($table, $existing_tables)) {
462 $errors[] = "Missing table '".$table."'"; 464 $errors[] = "Missing table '".$table."'";
463 } 465 }
464 else { // compare cols 466 else { // compare cols
465 $db_cols = $db->list_cols($table); 467 $db_cols = $db->list_cols($table);
468 echo "<p style='color: red'>table: $table, cols: ".print_r($cols,TRUE)."\ndb_cols:".print_r($db_cols,TRUE)."</p>";
466 $diff = array_diff(array_keys($cols), $db_cols); 469 $diff = array_diff(array_keys($cols), $db_cols);
467 470
468 if (!empty($diff)) { 471 if (!empty($diff)) {
469 $errors[] = "Missing columns in table '$table': " . join(',', $diff); 472 $errors[] = "Missing columns in table '$table': " . join(',', $diff);
470 } 473 }