Il sito lascia le piattaforme: separazione fusa in main
Fuso `feat/split-apps` (fermo dal 03/09 e mai portato in main, mentre il container delle piattaforme girava gia' da li'): il sito e le piattaforme erano online in due copie, con database diversi e ruoli divergenti — `nicola` era `admin` di la' e `piattaforme` di qua, e la promozione di ieri valeva solo su una delle due. Adesso `insanitylab.it/campus`, `/piattaforme` e `/login` fanno 404: le aree riservate stanno solo su `piattaforme.tielogic.xyz`. Il pannello `/admin` resta. Nel database del sito restano `admin` ed `editor`; `nicola` e `adriano` sono usciti. Il lavoro di oggi e' passato intatto: edizione `settembre-2026` coi cinque pacchetti, i 73 tag, il countdown al 19/09 e la correzione del sabato. Verificato sull'immagine nuova prima di metterla, chiedendo la pagina a quattro date. Tre cose che lo split del 03/09 aveva lasciato indietro, trovate eseguendo: - **`Dockerfile` del sito copiava ancora `campus-content`**, spostato sotto `apps/platforms`: il build falliva. Nel sito non c'era piu' un solo riferimento a quella cartella - solo la riga del Dockerfile. Rimossa. - **`migra-utenti.mjs --togli-dal-sito` era un no-op silenzioso**: il `continue` sugli utenti gia' presenti a destinazione saltava anche la cancellazione dall'origine. Siccome copiare e ripulire sono due passi separati apposta, l'opzione non funzionava proprio nel caso per cui esiste. Ora chi e' gia' di la' esce di qua lo stesso, e il riepilogo dice quanti ne ha tolti. - **`.env` non e' in git**, quindi il merge non lo ha spostato sotto `apps/sito/`. L'`up` e' fallito dopo che il `down` aveva gia' tolto il container: **9,7 secondi di sito giu'**, misurati. La prova con `docker run` non lo aveva visto perche' non legge `env_file`. Il rimedio - `docker compose config` prima dello swap - e' scritto nel README del sito, che prima non diceva come si fa un deploy. Sito 149 test verdi, piattaforme 202. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FPKFABRT3y26dFNMquF3CS
This commit is contained in:
Symlink
+1
@@ -0,0 +1 @@
|
||||
/opt/docker/insanitylab-apps/apps/platforms/node_modules
|
||||
@@ -60,11 +60,19 @@ if (candidati.length === 0) {
|
||||
|
||||
const ins = dst.prepare('INSERT INTO users (username, password_hash, role) VALUES (?, ?, ?)');
|
||||
const del = togli ? src.prepare('DELETE FROM users WHERE username = ?') : null;
|
||||
let copiati = 0, saltati = 0;
|
||||
let copiati = 0, saltati = 0, tolti = 0;
|
||||
|
||||
for (const u of candidati) {
|
||||
if (gia.has(u.username)) {
|
||||
console.log(` = ${u.username.padEnd(16)} ${u.role.padEnd(12)} già presente a destinazione, lasciato com'è`);
|
||||
// Già a destinazione: non lo si tocca di là (una migrazione che sovrascrive non si può
|
||||
// rilanciare). Ma `--togli-dal-sito` riguarda l'ORIGINE, e va fatto lo stesso: chi è
|
||||
// arrivato in un giro precedente non ha meno diritto di uscire dal sito di chi arriva
|
||||
// adesso. Fino al 04/09/2026 questo `continue` saltava anche la cancellazione, e
|
||||
// l'opzione diventava un no-op silenzioso appena la copia era già avvenuta — che è il
|
||||
// caso normale, visto che copiare e ripulire sono due passi separati apposta.
|
||||
const esce = togli && applica;
|
||||
console.log(` = ${u.username.padEnd(16)} ${u.role.padEnd(12)} già a destinazione, lasciato com'è${esce ? ' — tolto dal sito' : ''}`);
|
||||
if (esce) { del.run(u.username); tolti++; }
|
||||
saltati++;
|
||||
continue;
|
||||
}
|
||||
@@ -76,5 +84,5 @@ for (const u of candidati) {
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`\n${applica ? `copiati ${copiati}` : `da copiare ${candidati.length - saltati}`}, saltati ${saltati}.`);
|
||||
console.log(`\n${applica ? `copiati ${copiati}` : `da copiare ${candidati.length - saltati}`}, saltati ${saltati}${togli && applica ? `, tolti dal sito ${tolti + copiati}` : ''}.`);
|
||||
if (!applica) console.log('Niente è stato scritto.');
|
||||
|
||||
Reference in New Issue
Block a user