Enhance deployment script and navigation component for improved data handling and user access
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 45s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 45s
This commit updates the deploy-production.sh script to remove tracked public/data CSV files from the Git index and ensures that backup files are restored correctly, with size verification for integrity. Additionally, it modifies the Navigation.vue component to allow access to the gallery for users with newsletter permissions, enhancing user experience and access control.
This commit is contained in:
@@ -130,6 +130,14 @@ git pull
|
||||
# Reset any accidental changes from stash restore (should be none now)
|
||||
git reset --hard HEAD >/dev/null 2>&1
|
||||
|
||||
# WICHTIG: Entferne public/data Dateien aus Git-Index, falls sie getrackt sind
|
||||
# (Sie sollten in .gitignore sein, aber falls sie historisch getrackt wurden)
|
||||
if git ls-files --error-unmatch public/data/*.csv >/dev/null 2>&1; then
|
||||
echo " WARNING: public/data/*.csv Dateien sind im Git getrackt!"
|
||||
echo " Entferne sie aus dem Git-Index (Dateien bleiben erhalten)..."
|
||||
git rm --cached public/data/*.csv 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 3. Install dependencies
|
||||
echo ""
|
||||
echo "3. Installing dependencies..."
|
||||
@@ -292,10 +300,40 @@ echo " Restored server/data from backup ($BACKUP_DIR/server-data)."
|
||||
# Stelle alle CSVs wieder her
|
||||
if ls "$BACKUP_DIR/public-data"/*.csv >/dev/null 2>&1; then
|
||||
mkdir -p public/data
|
||||
cp -a "$BACKUP_DIR/public-data"/*.csv public/data/
|
||||
echo " Restored public/data/*.csv from backup ($BACKUP_DIR/public-data)."
|
||||
|
||||
# WICHTIG: Überschreibe auch Dateien, die aus dem Git-Repository kommen
|
||||
# Verwende cp mit -f (force) um sicherzustellen, dass Backup-Dateien Vorrang haben
|
||||
for csv_file in "$BACKUP_DIR/public-data"/*.csv; do
|
||||
filename=$(basename "$csv_file")
|
||||
# Überschreibe explizit, auch wenn Datei bereits existiert
|
||||
cp -f "$csv_file" "public/data/$filename"
|
||||
# Stelle sicher, dass die Datei wirklich überschrieben wurde
|
||||
if [ -f "public/data/$filename" ]; then
|
||||
# Prüfe, ob die Datei wirklich vom Backup kommt (Größenvergleich)
|
||||
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 "public/data/$filename" 2>/dev/null || stat -c%s "public/data/$filename" 2>/dev/null || echo "0")
|
||||
if [ "$backup_size" = "$restored_size" ] && [ "$backup_size" != "0" ]; then
|
||||
echo " ✓ Restored public/data/$filename from backup ($backup_size bytes)"
|
||||
else
|
||||
echo " ⚠ WARNING: public/data/$filename Größe stimmt nicht überein (Backup: $backup_size, Restored: $restored_size)"
|
||||
fi
|
||||
else
|
||||
echo " ❌ ERROR: Konnte public/data/$filename nicht wiederherstellen!"
|
||||
fi
|
||||
done
|
||||
|
||||
echo " ✓ All public/data/*.csv files restored from backup ($BACKUP_DIR/public-data)."
|
||||
|
||||
# Zusätzliche Sicherheit: Entferne public/data Dateien aus Git-Index, falls sie getrackt sind
|
||||
# (nach dem Restore, damit sie nicht beim nächsten git reset überschrieben werden)
|
||||
if git ls-files --error-unmatch public/data/*.csv >/dev/null 2>&1; then
|
||||
echo " WARNING: public/data/*.csv Dateien sind noch im Git getrackt!"
|
||||
echo " Entferne sie aus dem Git-Index (Dateien bleiben erhalten)..."
|
||||
git rm --cached public/data/*.csv 2>/dev/null || true
|
||||
echo " ✓ public/data/*.csv aus Git-Index entfernt"
|
||||
fi
|
||||
else
|
||||
echo "No public CSVs to restore"
|
||||
echo " No public CSVs to restore"
|
||||
fi
|
||||
|
||||
# Sanity Check: users.json muss existieren und darf nicht leer sein
|
||||
|
||||
Reference in New Issue
Block a user