Compare commits
No commits in common. "c099eb64728f89a0c147df74c681454a67185336" and "30e696263804ca42158a2437fdbce961fa020e86" have entirely different histories.
c099eb6472
...
30e6962638
Binary file not shown.
BIN
database-backups/vigilanzaturni_v1.0.1_20251017_064224.sql.gz
Normal file
BIN
database-backups/vigilanzaturni_v1.0.1_20251017_064224.sql.gz
Normal file
Binary file not shown.
@ -34,8 +34,43 @@ if [ -f .env ]; then
|
||||
source .env
|
||||
fi
|
||||
|
||||
# =================== BACKUP DATABASE NORMALE (se non import) ===================
|
||||
if [ "$IMPORT_DB" != true ]; then
|
||||
# =================== IMPORT DATABASE DA GIT (se richiesto) ===================
|
||||
if [ "$IMPORT_DB" = true ]; then
|
||||
echo "📦 Import database da backup Git..."
|
||||
|
||||
# Trova l'ultimo backup nella directory git
|
||||
LATEST_GIT_BACKUP=$(ls -t $GIT_BACKUP_DIR/*.sql.gz 2>/dev/null | head -1)
|
||||
|
||||
if [ -f "$LATEST_GIT_BACKUP" ]; then
|
||||
echo "📥 Trovato backup: $LATEST_GIT_BACKUP"
|
||||
|
||||
# Controlla che le variabili siano definite
|
||||
if [ -z "$PGDATABASE" ] || [ -z "$PGUSER" ]; then
|
||||
echo "❌ Variabili DB non trovate nel .env, impossibile importare"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Chiedi conferma (opzionale - rimuovi se vuoi import automatico)
|
||||
echo "⚠️ ATTENZIONE: Questo sovrascriverà il database corrente!"
|
||||
echo "Backup da importare: $(basename $LATEST_GIT_BACKUP)"
|
||||
read -p "Continuare? (s/n): " -n 1 -r
|
||||
echo
|
||||
|
||||
if [[ $REPLY =~ ^[Ss]$ ]]; then
|
||||
# Decomprimi e importa
|
||||
echo "🔄 Importazione database in corso..."
|
||||
gunzip -c "$LATEST_GIT_BACKUP" | PGPASSWORD=$PGPASSWORD psql -h ${PGHOST:-localhost} -U $PGUSER --dbname=$PGDATABASE
|
||||
echo "✅ Database importato con successo da Git!"
|
||||
else
|
||||
echo "❌ Import annullato dall'utente"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "❌ Nessun backup trovato in $GIT_BACKUP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# =================== BACKUP DATABASE NORMALE ===================
|
||||
echo "💾 Backup database pre-deployment..."
|
||||
mkdir -p $BACKUP_DIR
|
||||
BACKUP_FILE="$BACKUP_DIR/backup_$(date +%Y%m%d_%H%M%S).sql"
|
||||
@ -73,54 +108,9 @@ export NODE_ENV=production
|
||||
npm run build
|
||||
|
||||
# Database migrations (serve Drizzle che è devDependency)
|
||||
# IMPORTANTE: Le migrazioni devono essere eseguite PRIMA dell'import dei dati
|
||||
echo "🗄️ Aggiornamento schema database..."
|
||||
echo "🗄️ Verifica database schema..."
|
||||
npm run db:push || echo "⚠️ Schema push skipped (database già aggiornato)"
|
||||
|
||||
# =================== IMPORT DATABASE DA GIT (dopo le migrazioni) ===================
|
||||
if [ "$IMPORT_DB" = true ]; then
|
||||
echo "📦 Import dati da backup Git..."
|
||||
|
||||
# Trova l'ultimo backup nella directory git
|
||||
LATEST_GIT_BACKUP=$(ls -t $GIT_BACKUP_DIR/*.sql.gz 2>/dev/null | head -1)
|
||||
|
||||
if [ -f "$LATEST_GIT_BACKUP" ]; then
|
||||
echo "📥 Trovato backup: $LATEST_GIT_BACKUP"
|
||||
|
||||
# Controlla che le variabili siano definite
|
||||
if [ -z "$PGDATABASE" ] || [ -z "$PGUSER" ]; then
|
||||
echo "❌ Variabili DB non trovate nel .env, impossibile importare"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Chiedi conferma
|
||||
echo "⚠️ ATTENZIONE: Questo sovrascriverà i dati correnti del database!"
|
||||
echo "Lo schema è già stato aggiornato con le migrazioni."
|
||||
echo "Backup da importare: $(basename $LATEST_GIT_BACKUP)"
|
||||
read -p "Continuare? (s/n): " -n 1 -r
|
||||
echo
|
||||
|
||||
if [[ $REPLY =~ ^[Ss]$ ]]; then
|
||||
# NOTA: Il backup contiene --clean e ricreerà le tabelle
|
||||
# Questo va bene perché contiene anche lo schema della versione corrente
|
||||
echo "🔄 Importazione database completo (schema + dati)..."
|
||||
gunzip -c "$LATEST_GIT_BACKUP" | PGPASSWORD=$PGPASSWORD psql -h ${PGHOST:-localhost} -U $PGUSER --dbname=$PGDATABASE
|
||||
|
||||
# Ri-esegui le migrazioni per sincronizzare eventuali differenze
|
||||
echo "🔄 Sincronizzazione schema dopo import..."
|
||||
npm run db:push || echo "⚠️ Schema già sincronizzato"
|
||||
|
||||
echo "✅ Database importato con successo da Git!"
|
||||
else
|
||||
echo "❌ Import annullato dall'utente"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "❌ Nessun backup trovato in $GIT_BACKUP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# NOTA: NON facciamo npm prune perché Vite serve a runtime per il middleware
|
||||
# Il server Express usa Vite per servire il frontend anche in produzione
|
||||
|
||||
|
||||
10
version.json
10
version.json
@ -1,13 +1,7 @@
|
||||
{
|
||||
"version": "1.0.11",
|
||||
"lastUpdate": "2025-10-17T09:32:00.721Z",
|
||||
"version": "1.0.10",
|
||||
"lastUpdate": "2025-10-17T09:27:06.616Z",
|
||||
"changelog": [
|
||||
{
|
||||
"version": "1.0.11",
|
||||
"date": "2025-10-17",
|
||||
"type": "patch",
|
||||
"description": "Deployment automatico v1.0.11"
|
||||
},
|
||||
{
|
||||
"version": "1.0.10",
|
||||
"date": "2025-10-17",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user