Before you start upgrading, always backup your data in case something goes wrong.
- Backup your data from PostgreSQL database
docker exec -t open_loyalty_db pg_dumpall -U openloyalty > dump.sql
- If you have a lot of data in Elasticsearch, it's a good idea to create a snapshot to speed up process of recovering data.
https://www.elastic.co/guide/en/elasticsearch/reference/2.2/modules-snapshots.html
If somehow you can't do a snapshot, you can always rebuild data in Elasticsearch using commands
docker exec -it open_loyalty_backend bash
su www-data
bin/console oloy:user:projections:purge
bin/console oloy:utility:read-models:recreate
Note that recreating a lot of data may take a while and is not as fast as using snapshots.
- Upgrade Open Loyalty version
The first step depends on how you use Open Loyalty version.
- Login to the PHP container
docker exec -it open_loyalty_backend bash
su www-data
- Remove cache
rm -rf var/cache/*
- Update parameters.yml file
4a. You can manually check new parameters by checking a file app/config/parameters.yml.dist and copy newly added values to the app/config/parameters.yml
4b. You can automatically generate a new app/config/parameters.yml file using composer
composer install
- Create a new table for Snapshots feature
bin/console broadway:snapshoting:schema:init -n
- Migrate data
phing migrate
- Add newly added translations to the Settings -> Translations from https://github.com/DivanteLtd/open-loyalty-framework/blob/master/src/OpenLoyalty/Bundle/SettingsBundle/DataFixtures/ORM/translations/english.json
If you have an older version than 3.0.* then you have to go through each version and upgrade according to UPGRADE-*.md file for each version.