Migrate to cloud: Restore Elasticsearch and RedisEdit on GitHub
After you have defined the environment variables, you must restore Elasticsearch and Redis.
Restoring Redis and Elasticsearch on a newly deployed infrastructure can be approached in two ways. These approaches involve using the
We recommend using
sync:data, because it directly synchronizes the database with Elasticsearch and Redis without additional steps. However, if there are memory issues or any other complications with
sync:data, you can use the alternative
publish:trigger-events command. Keep in mind, though, that this command does extra work while republishing data in
The sync:data command
There is a default
vendor/bin/console sync:data command in Spryker that lets you repopulate Elasticsearch and Redis with the aggregated data from the database. This command must be executed during the migration process to restore Elasticsearch and Redis data on a new Spryker Production environment.
Considering this fact, ensure that the
sync:data command can restore your Elasticsearch and Redis from scratch in a consistent and resilient way. This especially applies to custom
*Search modules, as they should have synchronization plugins implemented and enabled.
Due to the large data size, sometimes the command can’t process all the records and fails. In this case, it can be executed per resource as follows:
console sync:data url
console sync:data product_concrete
The publish:trigger-events command
An alternative method for accomplishing this restoration is by using the
vendor/bin/console publish:trigger-events command. This command republishes the aggregated data in the database for tables with names ending with
_storage. Additionally, it synchronizes this data with Elasticsearch and Redis. To ensure robustness, ensure that similar validation processes are conducted for
publish:trigger-events as those performed for
For submitting the form