Winkelbeheer & operations
Updates en databasemigraties
Haal de nieuwste Agovena-release op, bewaar winkelgegevens en voer migraties zorgvuldig uit.
Op deze pagina
Een update vervangt applicatiebestanden en kan het databaseschema wijzigen. Behandel dit als een deployment, niet als een knop in Admin. Admin → Updates toont de huidige applicatie- en schemastatus; de pagina downloadt geen nieuwe bronbestanden.
1. Kies de updatebron
Gebruik één van deze bronnen:
Laatste gepubliceerde release
Deze opdracht selecteert het nieuwste gepubliceerde archief van GitHub:
cd /var/www
rm -rf /tmp/agovena-release
mkdir -p /tmp/agovena-release
RELEASE_URL="$(curl -fsSL https://api.github.com/repos/milovd/Agovena/releases/latest 2>/dev/null | sed -n 's/.*"browser_download_url": "\(https:[^"]*agovena-[^"]*\.tar\.gz\)".*/\1/p' | head -n 1 || true)"
if [ -z "$RELEASE_URL" ]; then
printf '%s\n' 'Geen passend gepubliceerd release-archief gevonden. Gebruik in plaats daarvan de update-route voor een source checkout.'
exit 1
fi
curl -fL "$RELEASE_URL" -o /tmp/agovena-latest.tar.gz
tar -xzf /tmp/agovena-latest.tar.gz -C /tmp/agovena-release
Als test -n "$RELEASE_URL" faalt, gebruik je de update-route voor een Source checkout. Dat betekent dat GitHub nog geen passend gepubliceerd archief heeft. Wanneer een archief beschikbaar is, gebruik je de uitgepakte map in stap 4.
Source checkout
Haal voor een checkout de nieuwste revisie van main op:
cd /var/www/agovena
git pull --ff-only origin main
composer install --no-dev --optimize-autoloader
npm ci
npm run build
Gebruik deze route alleen voor een source checkout. Voer tijdens een deployment geen composer update uit.
2. Maak een back-up van de winkel
Maak vóór je bestanden vervangt:
- Een back-up van MariaDB.
- Een back-up van
.env, inclusief de bestaandeAPP_KEY. - Een back-up van
storage/app/privateenstorage/app/public. - Behoud pakketbestanden onder
storage/app/packages. - Noteer de huidige revisie en de locatie van de back-up.
Lees back-ups en herstel en controleer voordat je verdergaat of de back-up leesbaar is.
3. Schakel onderhoudsmodus in
Plan een rustig moment, laat actief queuewerk afronden en stop de beheerde worker:
cd /var/www/agovena
php artisan down
sudo systemctl stop agovena-queue.service
De schedulercronjob kan geïnstalleerd blijven. Pauzeer tijdens het vervangen van bestanden alleen de schedulerregel van deze winkel wanneer jouw deployment dat vereist. Onderhoudsmodus stopt geen losse CLI-processen of externe providercallbacks.
4. Vervang de applicatiebestanden
Kopieer bij een release-archief de uitgepakte release naar de bestaande applicatiemap:
sudo cp -a /tmp/agovena-release/agovena-*/. /var/www/agovena/
Behoud de bestaande .env, storage/, database en geïnstalleerde pakketgegevens. Verwijder ze niet en kopieer geen lege storageboom over winkelgegevens.
Bij een source checkout hebben de opdrachten uit stap 1 de applicatie al bijgewerkt en de frontend-assets opnieuw gebouwd.
5. Voer de migraties uit
Voer vanuit de applicatieroot het upgradecommando uit:
cd /var/www/agovena
php artisan config:clear
php artisan agovena:upgrade
php artisan agovena:doctor
agovena:upgrade voert Core-migraties uit, migreert geïnstalleerde Modules en Extensions en herstelt onderbroken pakketbewerkingen. Stop als het mislukt. Zet de winkel niet online en voer resterende opdrachten niet blind uit.
Gebruik nooit migrate:fresh, migrate:reset of een databasewisactie op een winkel met echte gegevens.
6. Herstart de services
Start de worker, verlaat de onderhoudsmodus en controleer de applicatie:
sudo systemctl start agovena-queue.service
php artisan queue:restart
php artisan up
php artisan agovena:doctor
Herstart ook de PHP-process manager of de gekozen webserver wanneer die tijdens de deployment opnieuw is gestart. Laat de schedulercronjob staan.
7. Controleer de bijgewerkte winkel
Controleer de winkel via de echte HTTPS-hostname:
- de storefront en een productpagina;
/loginen/admin;- een bestaande bestelling en factuur;
- publieke media;
- e-mailbezorging;
- queueverwerking;
- de schedulerheartbeat;
- Admin → Updates voor de nieuwe schemastatus.
Bekijk de applicatie- en workerlogs nadat de eerste queue- en schedulertaken zijn uitgevoerd.
8. Wanneer de update mislukt
Houd de winkel in onderhoudsmodus. Lees de eerste migratie- of deploymentfout en voer betalings- of provisioningwerk niet opnieuw uit zonder eerst de provider te controleren.
Oude applicatiebestanden terugplaatsen maakt database- of pakketmigraties niet automatisch ongedaan. Herstel zo nodig een consistente back-up van database en bestanden, los de oorzaak op en herhaal de deployment vanuit de gekozen release.