Skip to content

Commit e98d4b3

Browse files
committed
fix: generazione query risoluzione problemi database
1 parent 39421c1 commit e98d4b3

1 file changed

Lines changed: 12 additions & 17 deletions

File tree

modules/aggiornamenti/database.php

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -275,13 +275,18 @@ function settings_diff($expected, $current)
275275
<tbody>';
276276

277277
foreach ($foreign_keys as $name => $diff) {
278+
$query = '';
279+
280+
$query = 'ALTER TABLE '.$table.' ADD CONSTRAINT '.$name.' FOREIGN KEY ('.$diff['expected']['column'].') REFERENCES '.$diff['expected']['referenced_table'].'(`'.$diff['expected']['referenced_column'].'`) ON DELETE '.$diff['expected']['delete_rule'].' ON UPDATE '.$diff['expected']['update_rule'].';';
281+
$query_conflitti[] = $query;
282+
278283
echo '
279284
<tr class="row-warning">
280285
<td class="column-name">
281-
'.($name ?: $diff['expected']['title']).'
286+
'.($name ?: ($diff['expected']['title'] ?? $name)).'
282287
</td>
283288
<td class="column-conflict">
284-
ALTER TABLE '.$table.' ADD CONSTRAINT '.$name.' FOREIGN KEY ('.$diff['expected']['column'].') REFERENCES '.$diff['expected']['referenced_table'].'(`'.$diff['expected']['referenced_column'].'`) ON DELETE '.$diff['expected']['delete_rule'].' ON UPDATE '.$diff['expected']['update_rule'].';
289+
'.$query.'
285290
</td>
286291
</tr>';
287292
}
@@ -339,11 +344,7 @@ function settings_diff($expected, $current)
339344
$query = '';
340345
if (!isset($results[$table][$name])) {
341346
if (isset($diff['key'])) {
342-
if ($diff['key']['expected'] == '') {
343-
$query = 'Chiave non prevista';
344-
} else {
345-
$query = 'Chiave mancante';
346-
}
347+
$query = 'Chiave non prevista';
347348

348349
echo '
349350
<tr class="row-info">
@@ -376,23 +377,16 @@ function settings_diff($expected, $current)
376377
<tbody>';
377378

378379
foreach ($foreign_keys as $name => $diff) {
379-
$query = 'ALTER TABLE `'.$table.'` ADD FOREIGN KEY (`'.$name.'`) REFERENCES ';
380-
381-
if (isset($diff['referenced_table']) && isset($diff['referenced_column'])) {
382-
$query .= '`'.$diff['referenced_table']['current'].'`(`'.$diff['referenced_column']['current'].'`)';
383-
} else {
384-
$query .= 'altra_tabella(id)';
385-
}
386-
$query .= ' ON DELETE CASCADE ON UPDATE CASCADE';
387-
$query_conflitti[] = $query.';';
380+
$query = '';
381+
$query = 'Chiave esterna non prevista';
388382

389383
echo '
390384
<tr class="row-warning">
391385
<td class="column-name">
392386
'.$name.'
393387
</td>
394388
<td class="column-conflict">
395-
'.$query.';
389+
'.$query.($query !== 'Chiave esterna non prevista' ? ';' : '').'
396390
</td>
397391
</tr>';
398392
}
@@ -583,6 +577,7 @@ function buttonRestore(button, loadingResult) {
583577
var query = $(this).text().trim();
584578
if (query &&
585579
query !== "Chiave non prevista" &&
580+
query !== "Chiave esterna non prevista" &&
586581
query !== "Chiave mancante" &&
587582
!query.startsWith("query=")) {
588583

0 commit comments

Comments
 (0)