Titre du blog
Comprendre comment V4 diffère de V3 est essentiel avant de commencer la migration. Parmi les modifications importantes figurent:
- Nouvelle structure de base de code: Strapi V4 facilite le maintien et le modulaire en introduisant une nouvelle structure de dossier.
- Améliorations de l’API: V4 utilise les spécifications OpenAPI et les points de terminaison sont désormais plus standardisés.
- Migration de base de données: V4 nécessite les mises à jour du schéma et des données et gère les migrations de la base de données différemment.
Défi commun: Si vous avez une instance Strapi V3 hautement personnalisée, il peut être difficile de comprendre ces changements.
Solution: Prévoyez de migrer chacun individuellement après avoir lu le guide de mise à niveau officiel et en notant votre personnalisation V3 actuelle. Ne vous alcoolisez pas tout.
Avant de lancer la migration:
- Faites une sauvegarde complète de votre projet Strapi V3, y compris les fichiers et la base de données téléchargés.
Défi: Si vous utilisez un stockage cloud pour vos actifs, la sauvegarde de grands projets peut prendre un certain temps.
Solution: Vous pouvez créer un magasin local Backup.zip ou créer une branche distincte spécifiquement pour la sauvegarde en cas de contrôle de version (GIT).
- Audit Code personnalisé: Énumérez chaque modification apportée à votre instance Strapi V3, y compris des plugins, des configurations et des API uniques.
Problème: S’il n’y a pas assez de documentation pour vos modifications.
Solution: Les ingénieurs rétro-inverses peuvent vous aider à résoudre votre complexité, mais n’oubliez pas de garder un nouveau document avec vos modifications de migration. Vos collègues développeurs trouveront cela très pratique.
- Copier les détails de la configuration: Transférez vos configurations existantes (par exemple, les détails .env) pour assurer une transition plus fluide vers V4.
La mise à niveau de la version 3 à la version 4 n’est pas possible. Vous devez plutôt démarrer un nouveau projet Strapi V4:
npx create-strapi-app@latest my-project --quickstart
- Type de base de données: Pour faciliter la migration des données, sélectionnez le même type de base de données que votre projet V3 (par exemple, MySQL, PostgreSQL, etc.).
Défi: La modification des types de bases de données (telles que MySQL vers SQLite) peut nécessiter l’utilisation d’outils de transformation de données supplémentaires.
Suggestion: Ma recommandation est de vous en tenir à votre ancienne base de données et d’effectuer une migration spécifique à la base de données séparément.
VosFirslookofstapi
Après la réussite de la configuration, vous verrez l’interface ci-dessus sur votre navigateur.
Bien que Strapi V4 propose une nouvelle méthode pour gérer différents types de contenu, vous pouvez toujours transférer votre collection et vos composants actuels directement de l’ancienne base de code vers la nouvelle.
- Collection de copies: Accédez simplement au répertoire de votre base de code V3 / API, copiez chaque collection, puis collez-le à l’emplacement approprié dans votre base de code V4
- Copier les composants: Pour obtenir vos anciens composants dans de nouveaux, répétez le processus du répertoire / composants après avoir terminé avec des collections.
- Migrer les relations: Parce que la syntaxe a changé dans la version 4, faites attention aux relations entre les collections.
Défi: La cartographie manuelle des relations complexes peut être sujette aux erreurs. Tout au long du processus, gardez une trace des champs et des relations à l’aide d’une feuille de calcul.
Conseil: Pour rendre votre nouvelle structure V4 plus efficace, éliminez le code supplémentaire ou les attributs de données superflues.
Dossier d’API et de composants de votre strapi
L’un des aspects les plus difficiles de la mise à niveau est la migration des données. Il existe deux méthodes principales:
- Données d’exportation et d’importation:
- Tout ce que vous avez à faire pour effectuer la migration de la base de données est d’exécuter un script conformément aux instructions, et vos données converties pour Strapi V4 seront prêtes.
- À des fins de sauvegarde, exportez vos données à partir de la base de données V3 à l’aide d’un programme comme MySQLDUmp ou PG_DUMP.
- Aplatir les réponses de l’API:
-
- Cette section de Strapi V4 est entièrement différente si vous utilisez GraphQL dans votre strapi existante.
Requête de la comparsion de GraphQL dans Strapi V3 et V4
- Le format de réponse a été mis à jour pour GraphQL et l’API RESTFul conformément à la mise à jour du style de requête GraphQL. Vous pouvez ensuite utiliser ce plugin pour modifier les données en votre ancienne notation afin de résoudre ce problème.
Lien de plugin – https://market.strapi.io/plugins/strap-plugin-untransform-ponse
Défi: Assurer la cohérence des données pendant la migration peut être délicat, en particulier pour les grands ensembles de données avec des relations complexes.
Nouvelle considération: Strapi V4 applique une limite de page par défaut de 10. Mettez à jour vos requêtes ou configurations si vous avez besoin de récupérer des ensembles de données plus grands -
Les API V4 utilisent un format différent et les points de terminaison personnalisés V3 peuvent ne pas fonctionner. Pour corriger ceci:
- Recréer des points de terminaison personnalisés: Utilisez le nouveau format Strapi V4 pour réécrire vos contrôleurs et services personnalisés.
- Mettre à jour les autorisations: Dans le panneau d’administration V4, modifiez les autorisations pour les rôles.
Strapi V4 est incompatible avec des plugins conçus pour Strapi V3. Vous devez:
- Vérifiez la disponibilité du plugin: ** Les versions V4 officielles sont disponibles pour certains plugins V3 bien connus, tels que le téléchargement et GraphQL. Utilisez la CLI pour les installer:
npm install @strapi/plugin-graphql
- Réécrivez des plugins personnalisés: Utilisez la nouvelle architecture V4 pour refacter les plugins personnalisés que vous avez créés.
Note: Les requêtes plus profondes sont prises en charge par GraphQL dans la version 4. Essayez ses nouvelles fonctionnalités pour tirer le meilleur parti de vos interactions API.
Une fois que tout est configuré, testez votre instance V4 à tous égards:
- Gestion du contenu: Assurez-vous d’avoir la possibilité d’ajouter, de modifier et de supprimer le contenu.
- Réponses de l’API: Utilisez un facteur ou des outils similaires pour valider tous les points de terminaison de l’API.
- Autorisations utilisateur: Vérifiez les autorisations et l’accès en fonction des rôles.
Conseil: Recherchez les différences entre V3 et V4 en comparant les structures de récupération des données et de réponse.
Enfin, configurez votre instance Strapi V4 dans l’environnement d’hébergement de votre choix. Avant d’aller vivre:
- Mettre à jour les enregistrements DNS: Pointez le nouveau serveur vers votre domaine.
- Test en production: Pour identifier tout problème unique à un déploiement, effectuez une course à sec dans le cadre de la production.
Défi: Les utilisateurs peuvent être touchés par les pannes de commutation; Planifiez une fenêtre de maintenance.
Après une migration réussie:
- Mettre à jour la documentation: Pour une utilisation future, enregistrez votre nouvelle architecture et procédures.
La migration Strapi V3 à V4 est une procédure en plusieurs étapes qui doit être soigneusement planifiée et effectuée. Un CMS plus fiable, maintenable et efficace est le résultat final, malgré les défis considérables – qui vont des modifications du schéma au refactorisation de l’API. N’ayez pas peur de demander l’aide de la communauté de Strapi et de procéder à la migration par petites étapes. J’espère que votre voyage de migration se déroule bien!
Vous avez trouvé cela utile? PARTAGEZ-LE
Source link