General Upgrades¶
As with anything, it is a very good idea to have backups ready before attempting any upgrades. In the case of SeAT, the most important component needs to be backed up is the SeAT database. Should something go wrong, then you can simply re-install SeAT, restore the database, and you should be good to go.
Docker installation¶
As expected, updates for SeAT are deployed via images on the GitHub Container Registry. Every package version release will automatically start the build process to generate a new docker image. This means updates are super simple in the docker world. To update your instance, simply run:
Better safe then sorry
Always perform a database backup of your database before doing an update. Always.
Blade installation¶
- Ensure that you are in the path where you installed. By default this should be
/var/www/seat
. - Cut jobs processing.
- Put your application into maintenance mode. This will ensure that no request from the outside will hit your applications logic, and also help you perform an upgrade uninterrupted. Do this with:
- Its a good thing to update
composer
itself. This is not a hard requirement, but definitely recommended. Do this with:
- The next thing to do is get the latest SeAT packages. The below example adds the
--no-dev
argument as these packages are generally not needed in production. Upgrade the packages with:
- With the packages upgraded, we can now publish any new migrations/assets/configs. This can be done with:
- Once the needed files are published, run any new/outstanding migrations with:
- With the migrations done, run the seeders to update any static data:
- Finally, we can simply bring our application back out of maintenance mode with:
- Prune job queue, this will prevent already queued jobs to use old codebase
- Renew cached configuration and routes
- Restart the supervisor workers to ensure they also pickup the latest code:
Better safe then sorry
Always perform a database backup of your database before doing an update. Always.
You can use mysqldump -uroot -p seat > backup.sql
(change root and seat according to your configuration)