Files
HotLunches/fix.db-enums.php
T
2026-10-19 15:22:52 -07:00

66 lines
2.0 KiB
PHP

<?php
include "db.php";
$charSet = "utf8";
$collation = "utf8_general_ci";
$databases = array(
"hotlunch_20200413",
"hotlunch_20200502",
"hotlunch_20200831",
"hotlunch_20201011",
"hotlunch_20210313",
"hotlunch_20210427"
);
for ($i = 0; $i < count($databases); $i++) {
$database = $databases[$i];
db_query("USE $database");
$tables = db_query("SHOW TABLES");
while ($row = db_fetch_array($tables)) {
$tableName = $row[0];
echo("$tableName\n");
// if ($tableName != 'users') continue;
$columns = db_query("SHOW COLUMNS FROM $tableName");
while ($row = db_fetch_array($columns)) {
$columnName = $row['Field'];
$columnType = $row['Type'];
if (strpos($columnType, "enum") !== false) {
$count = db_getVal("SELECT count(*) FROM $tableName WHERE $columnName IS NULL OR $columnName = ''");
if ($count) {
echo("$columnName $columnType\n");
$values = str_replace("enum(","",$columnType);
$values = str_replace(")","",$values);
$Values = explode(',',$values);
for ($i = 0; $i < count($Values); $i++) {
$value = str_replace("'","",$Values[$i]);
$ans = readline(" - Select This Value ($value): ");
if (strlen($ans) > 0 && $ans == 'y') {
$query = "UPDATE $tableName SET $columnName = '$value' WHERE $columnName IS NULL OR $columnName = ''";
db_query($query);
$fp = fopen("fix.sql","a");
fwrite($fp,$query.";\n");
fclose($fp);
$num = db_affected_rows();
echo(" -> $num\n");
echo("\n");
break;
}
}
}
}
}
echo("\n");
}
}
?>