diff --git a/db.php b/db.php index 6b4d62c..2c0b69e 100644 --- a/db.php +++ b/db.php @@ -657,6 +657,25 @@ function initDatabase(): void { $db->query("DELETE FROM sites"); } } catch (\Throwable $e) { /* ohitetaan */ } + + // Migraatio: aseta vanhojen kansioiden customer_id dokumenttien perusteella + try { + $orphans = $db->query("SELECT id FROM document_folders WHERE customer_id IS NULL"); + while ($row = $orphans->fetch_assoc()) { + $fid = $row['id']; + // Hae yleisin customer_id kansion dokumenteista + $res = $db->query("SELECT customer_id, COUNT(*) AS cnt FROM documents WHERE folder_id = '$fid' AND customer_id IS NOT NULL GROUP BY customer_id ORDER BY cnt DESC LIMIT 1"); + $top = $res->fetch_assoc(); + if ($top && $top['customer_id']) { + $cid = $db->real_escape_string($top['customer_id']); + $db->query("UPDATE document_folders SET customer_id = '$cid' WHERE id = '$fid'"); + } else { + // Kansio ei sisällä dokumentteja asiakkaalla → poistetaan + $db->query("UPDATE documents SET folder_id = NULL WHERE folder_id = '$fid'"); + $db->query("DELETE FROM document_folders WHERE id = '$fid'"); + } + } + } catch (\Throwable $e) { /* ohitetaan */ } } // ==================== YRITYKSET ====================