deplay phase 1
This commit is contained in:
parent
e3dc1afd8e
commit
5a7478907e
68 changed files with 2831 additions and 818 deletions
128
dev/backups/phase2-offers-2026-04-17/restore.sh
Executable file
128
dev/backups/phase2-offers-2026-04-17/restore.sh
Executable file
|
|
@ -0,0 +1,128 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Restore-Script: spielt Phase 2 + Offers-Änderungen zurück in den Workspace.
|
||||
# Voraussetzung: Phase 1 wurde erfolgreich auf Live deployed und migriert.
|
||||
#
|
||||
# Nutzung:
|
||||
# bash dev/backups/phase2-offers-2026-04-17/restore.sh # interaktiv
|
||||
# bash dev/backups/phase2-offers-2026-04-17/restore.sh --force # ohne Nachfrage
|
||||
#
|
||||
# Details siehe MANIFEST.md im selben Verzeichnis.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
BACKUP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "${BACKUP_DIR}/../../../" && pwd)"
|
||||
FORCE=false
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--force|-f) FORCE=true ;;
|
||||
*) echo "Unbekannte Option: $arg"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
cd "${PROJECT_ROOT}"
|
||||
|
||||
echo "=========================================="
|
||||
echo " Phase-2 + Offers Restore"
|
||||
echo "=========================================="
|
||||
echo
|
||||
echo " Projekt-Root: ${PROJECT_ROOT}"
|
||||
echo " Backup-Ordner: ${BACKUP_DIR}"
|
||||
echo
|
||||
echo " Folgende Änderungen werden zurückgespielt:"
|
||||
echo " - 18 Migrationen (Phase 2, 3, 4, Offers) nach database/migrations/"
|
||||
echo " - 6 Offer-Models nach app/Models/ (inkl. Überschreiben von Legacy-Offer.php)"
|
||||
echo " - Code-Reverts via git checkout \${WIP_COMMIT} -- <datei>"
|
||||
echo
|
||||
|
||||
WIP_COMMIT="e3dc1af"
|
||||
if ! git cat-file -e "${WIP_COMMIT}" 2>/dev/null; then
|
||||
echo "FEHLER: Commit ${WIP_COMMIT} existiert nicht in diesem Repo."
|
||||
echo " Wenn das Repo neu geklont wurde, musst du stattdessen manuell"
|
||||
echo " die Dateien aus dem Tarball wiederherstellen."
|
||||
echo " Siehe MANIFEST.md → Abschnitt 'Manuell'."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if ! ${FORCE}; then
|
||||
echo
|
||||
read -r -p " Wurde Phase 1 auf Live erfolgreich deployed und migriert? (yes/NO): " answer
|
||||
if [[ "${answer}" != "yes" ]]; then
|
||||
echo " Abbruch. Bitte erst Phase 1 auf Live einspielen."
|
||||
exit 3
|
||||
fi
|
||||
echo
|
||||
read -r -p " Trotzdem fortfahren? (yes/NO): " confirm
|
||||
if [[ "${confirm}" != "yes" ]]; then
|
||||
echo " Abbruch durch User."
|
||||
exit 3
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "--- 1/4 --- Migrationen zurückspielen"
|
||||
cp -v "${BACKUP_DIR}/FILES/migrations/"*.php database/migrations/
|
||||
echo " → $(ls "${BACKUP_DIR}/FILES/migrations/" | wc -l) Migrationen kopiert"
|
||||
|
||||
echo
|
||||
echo "--- 2/4 --- Offer-Models zurückspielen"
|
||||
cp -v "${BACKUP_DIR}/FILES/models/"*.php app/Models/
|
||||
echo " → 6 Models kopiert (inkl. Überschreiben Legacy-Offer.php)"
|
||||
|
||||
echo
|
||||
echo "--- 3/4 --- Code-Reverts aus Git-Commit ${WIP_COMMIT}"
|
||||
FILES_TO_RESTORE=(
|
||||
"app/Models/Booking.php"
|
||||
"app/Models/Customer.php"
|
||||
"app/Models/Contact.php"
|
||||
"app/Models/Lead.php"
|
||||
"app/Repositories/BookingPDFRepository.php"
|
||||
"app/Repositories/LeadRepository.php"
|
||||
"app/Repositories/CustomerMailRepository.php"
|
||||
"app/Http/Controllers/RequestController.php"
|
||||
"app/Http/Controllers/API/BookingController.php"
|
||||
"app/Http/Controllers/Admin/ReportController.php"
|
||||
"app/Http/Controllers/Admin/ReportProviderController.php"
|
||||
"app/Http/Controllers/Admin/ReportLeadsController.php"
|
||||
"app/Http/Controllers/LeadController.php"
|
||||
"app/Http/Controllers/CustomerController.php"
|
||||
"app/Http/Controllers/ContactController.php"
|
||||
"app/Services/BookingImport.php"
|
||||
"app/Console/Commands/SyncNewsletterKulturreisen.php"
|
||||
"app/Console/Commands/ContactsFindDuplicates.php"
|
||||
"app/Console/Commands/ContactsMergeDuplicates.php"
|
||||
"resources/views/customer/mail/modal-show-mail-inner.blade.php"
|
||||
"resources/views/pdf/components/booking_head.blade.php"
|
||||
"resources/views/pdf/components/booking_header.blade.php"
|
||||
"config/filesystems.php"
|
||||
)
|
||||
for f in "${FILES_TO_RESTORE[@]}"; do
|
||||
git checkout "${WIP_COMMIT}" -- "${f}"
|
||||
echo " ↺ ${f}"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "--- 4/4 --- Verifikation"
|
||||
echo
|
||||
echo " git status (sollte Phase-2 + Offers-Dateien als modifiziert zeigen):"
|
||||
git status --short | head -40
|
||||
echo
|
||||
echo " Verbliebene Phase-2-Marker im Code (sollten nun wieder da sein):"
|
||||
grep -rn "inquiry_id" app/ 2>/dev/null | head -5 || echo " (keine gefunden — Restore eventuell nicht vollständig)"
|
||||
echo
|
||||
|
||||
echo "=========================================="
|
||||
echo " Restore abgeschlossen."
|
||||
echo "=========================================="
|
||||
echo
|
||||
echo " Nächste Schritte:"
|
||||
echo " 1. php -l auf allen geänderten Dateien (Syntax-Check)"
|
||||
echo " 2. composer dump-autoload (neue Models registrieren)"
|
||||
echo " 3. Weiterarbeit an Phase 2 + Offers nach Plan"
|
||||
echo " 4. Phase-2-Migrationen ausführen:"
|
||||
echo " php artisan migrate --path=database/migrations/2025_04_15_200001_phase2_rename_customer_to_contacts.php"
|
||||
echo " php artisan migrate --path=database/migrations/2025_04_15_200002_phase2_rename_lead_to_inquiries.php"
|
||||
echo " php artisan migrate --path=database/migrations/2025_04_15_200003_phase2_rename_booking_lead_id_to_inquiry_id.php"
|
||||
echo
|
||||
Loading…
Add table
Add a link
Reference in a new issue