From 7b9459c774b986d76107f33ee39276d6fcb251b6 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 1 Jul 2026 09:58:49 +0200 Subject: Extract full zip; excluding storage broke Laravel boot Excluding storage/ from extraction (unzip -x 'storage/*') dropped the storage/framework/{cache,views,sessions} skeleton Laravel needs to boot, so the first artisan call died with a misleading "Target class [auth] does not exist" (the real boot error is masked by the exception reporter, which calls auth()). Extract the whole archive and overlay live user data on top instead. Co-Authored-By: Claude Opus 4.8 --- CLAUDE.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 2c745ae..4ccf70c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -40,6 +40,13 @@ Debian. See README.md for usage; this file is the non-obvious context. space then `*`); `cut -d' ' -f1` gets the hash. The script verifies it when `sha256sum` is available, and validates the extracted tree before swapping. +- **Extract the FULL zip, do NOT `unzip -x 'storage/*'`.** The zip's storage + skeleton provides `storage/framework/{cache,views,sessions}`, which Laravel + needs to boot. Excluding it and recreating only the data dirs makes artisan + die with the misleading `Target class [auth] does not exist` (the real boot + failure is masked by the exception reporter, which itself calls `auth()`). + Extract everything, then overlay live user data (uploads/exports/DB) on top. + ## Conventions - Config via env vars (`WORKDIR`, `INSTANCE`, `BACKUPDIR`), matching the -- cgit v1.2.3