mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Fix for failed sql query during db dump (#9815)
This commit is contained in:
@@ -2454,18 +2454,20 @@ function dump_db_schema()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$create = dbFetchRow("SHOW CREATE TABLE `$table`")['Create Table'];
|
$create = dbFetchRow("SHOW CREATE TABLE `$table`");
|
||||||
$constraint_regex = '/CONSTRAINT `(?<name>[A-Za-z_0-9]+)` FOREIGN KEY \(`(?<foreign_key>[A-Za-z_0-9]+)`\) REFERENCES `(?<table>[A-Za-z_0-9]+)` \(`(?<key>[A-Za-z_0-9]+)`\) ?(?<extra>[ A-Z]+)?/';
|
if (isset($create['Create Table'])) {
|
||||||
$constraint_count = preg_match_all($constraint_regex, $create, $constraints);
|
$constraint_regex = '/CONSTRAINT `(?<name>[A-Za-z_0-9]+)` FOREIGN KEY \(`(?<foreign_key>[A-Za-z_0-9]+)`\) REFERENCES `(?<table>[A-Za-z_0-9]+)` \(`(?<key>[A-Za-z_0-9]+)`\) ?(?<extra>[ A-Z]+)?/';
|
||||||
for ($i = 0; $i < $constraint_count; $i++) {
|
$constraint_count = preg_match_all($constraint_regex, $create['Create Table'], $constraints);
|
||||||
$constraint_name = $constraints['name'][$i];
|
for ($i = 0; $i < $constraint_count; $i++) {
|
||||||
$output[$table]['Constraints'][$constraint_name] = [
|
$constraint_name = $constraints['name'][$i];
|
||||||
'name' => $constraint_name,
|
$output[$table]['Constraints'][$constraint_name] = [
|
||||||
'foreign_key' => $constraints['foreign_key'][$i],
|
'name' => $constraint_name,
|
||||||
'table' => $constraints['table'][$i],
|
'foreign_key' => $constraints['foreign_key'][$i],
|
||||||
'key' => $constraints['key'][$i],
|
'table' => $constraints['table'][$i],
|
||||||
'extra' => $constraints['extra'][$i],
|
'key' => $constraints['key'][$i],
|
||||||
];
|
'extra' => $constraints['extra'][$i],
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user