Migrer vers la v1.0 du SDK
Le processus de migration depuis une version antérieure à la version 1.0 nécessite une planification car le format interne des listes d'éléments a été modifié.
Cette mise à jour peut être effectuée de deux manières : soit redémarrer la base de données à partir de zéro (ce qui implique une interruption de service), soit mettre à jour un environnement en cours d'exécution.
La méthode la plus simple pour effectuer la mise à jour consiste à redémarrer la base de données à partir de zéro. Consultez notre article Réinitialisation de la base de données pour plus d'informations.
Toutefois, si vous devez mettre à jour un environnement en cours d'exécution, une mise à jour partielle de la base de données est recommandée. Consultez les étapes ci-dessous :
Première étape : Mise à jour du processus de mise à jour
Arrêtez le processus de mise à jour existant et empêchez-le de s'exécuter à nouveau.
Connectez-vous à la base de données Redis et réinitialisez l'état de synchronisation des éléments de données requis à l'aide de la commande suivante :
HDEL status c t a ac ia
Le prochain programme de mise à jour sera alors lancé pour retraiter toutes les catégories, tous les thèmes, etc.
Mettez à jour l'image du programme de mise à jour vers la version 1.0, démarrez-la et laissez-la s'exécuter jusqu'à la fin.
Notez que cela n'invalide pas la base de données. Tout SDK antérieur à la version 1.0 peut toujours fonctionner avec l'ensemble de données mis à jour
Deuxième étape : Mettre à jour le code du SDK
Une fois l'étape 1 terminée, vous pouvez mettre à jour votre code client vers la version 1.0. Les nouveaux éléments de données seront disponibles et seront utilisés par le code mis à jour.
Troisième étape : Suppression des éléments obsolètes de la base de données
Lorsque tout le code client utilisant l'ancienne version du SDK a été mis à jour, vous pouvez nettoyer votre base de données et récupérer de la mémoire en utilisant le olfeo-tool binaire comme celui-ci :
$ olfeo-tool remove-obsolete-lists --redis-dsn redis://<user>:<password>@<instance>/<db>