@@ -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