Refactor file handling to prioritize internal data directories for backups and uploads; enhance error handling and logging for metadata and CSV operations.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 47s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 47s
This commit is contained in:
@@ -100,6 +100,18 @@ if ls public/data/*.csv >/dev/null 2>&1; then
|
||||
else
|
||||
echo " No public CSVs to backup (public/data/*.csv not found)"
|
||||
fi
|
||||
# Prefer internal public-data under server/data/public-data for backups; fallback to legacy public/data
|
||||
if ls server/data/public-data/*.csv >/dev/null 2>&1; then
|
||||
mkdir -p "$BACKUP_DIR/public-data"
|
||||
cp -a server/data/public-data/*.csv "$BACKUP_DIR/public-data/"
|
||||
echo " Backed up server/data/public-data/*.csv -> $BACKUP_DIR/public-data/"
|
||||
elif ls public/data/*.csv >/dev/null 2>&1; then
|
||||
mkdir -p "$BACKUP_DIR/public-data"
|
||||
cp -a public/data/*.csv "$BACKUP_DIR/public-data/"
|
||||
echo " Backed up public/data/*.csv -> $BACKUP_DIR/public-data/"
|
||||
else
|
||||
echo " No public CSVs to backup (server/data/public-data or public/data not found)"
|
||||
fi
|
||||
|
||||
# 2. Handle local changes and Git Pull
|
||||
echo "2. Handling local changes and pulling latest from git..."
|
||||
@@ -158,6 +170,38 @@ if [ -d ".output" ]; then
|
||||
if [ -d ".output" ]; then
|
||||
echo "ERROR: .output konnte auch nach erneutem Versuch nicht gelöscht werden!"
|
||||
echo "Bitte manuell prüfen und löschen: rm -rf .output"
|
||||
if ls "$BACKUP_DIR/public-data"/*.csv >/dev/null 2>&1; then
|
||||
# Restore into internal storage (server/data/public-data)
|
||||
mkdir -p server/data/public-data
|
||||
for csv_file in "$BACKUP_DIR/public-data"/*.csv; do
|
||||
filename=$(basename "$csv_file")
|
||||
cp -f "$csv_file" "server/data/public-data/$filename"
|
||||
if [ -f "server/data/public-data/$filename" ]; then
|
||||
backup_size=$(stat -f%z "$csv_file" 2>/dev/null || stat -c%s "$csv_file" 2>/dev/null || echo "0")
|
||||
restored_size=$(stat -f%z "server/data/public-data/$filename" 2>/dev/null || stat -c%s "server/data/public-data/$filename" 2>/dev/null || echo "0")
|
||||
if [ "$backup_size" = "$restored_size" ] && [ "$backup_size" != "0" ]; then
|
||||
echo " \u2713 Restored server/data/public-data/$filename from backup ($backup_size bytes)"
|
||||
else
|
||||
echo " \u26a0 WARNING: server/data/public-data/$filename size mismatch (Backup: $backup_size, Restored: $restored_size)"
|
||||
fi
|
||||
else
|
||||
echo " \u274c ERROR: Konnte server/data/public-data/$filename nicht wiederherstellen!"
|
||||
fi
|
||||
done
|
||||
|
||||
echo " \u2713 All public-data files restored into server/data/public-data ($BACKUP_DIR/public-data)."
|
||||
|
||||
# Optional: synchronize internal public-data into public/data for legacy builds
|
||||
# This uses the project's sync script and forces overwrite in public/data.
|
||||
if command -v node >/dev/null 2>&1 && [ -f scripts/sync-public-data.js ]; then
|
||||
echo " Synchronizing server/data/public-data -> public/data (using scripts/sync-public-data.js --force)"
|
||||
node scripts/sync-public-data.js --force || echo " WARNING: sync script failed"
|
||||
else
|
||||
echo " Note: To publish CSVs to public/data run: node scripts/sync-public-data.js --force"
|
||||
fi
|
||||
else
|
||||
echo " No public CSVs to restore"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user