Ga naar de inhoud
agovena.
agovena.
Aan de slag
Community

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:

bash
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:

bash
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:

  1. Een back-up van MariaDB.
  2. Een back-up van .env, inclusief de bestaande APP_KEY.
  3. Een back-up van storage/app/private en storage/app/public.
  4. Behoud pakketbestanden onder storage/app/packages.
  5. 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:

bash
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:

bash
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:

bash
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:

bash
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;
  • /login en /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.

Doorzoek de documentatie

Zoek handleidingen, commando’s en API-endpoints

Waar ben je naar op zoek?

Documentatie