J'ai une application mobile Android ionique qui se connecte à un serveur api ruby sur rails et cette application utilise postgresql comme serveur de base de données.Bonne façon de gérer les anciennes versions de l'application mobile lorsque votre schéma de base de données a changé
Chaque fois que je crée une nouvelle fonctionnalité, je déploie à la fois l'API et la nouvelle application sur l'App Store et augmente les versions respectives d'API et de l'application, qui ont leur propre séquence de numérotation.
Le api est déployé sur le serveur, mais app est sur les périphériques des utilisateurs ne sont pas fréquemment mis à jour si en dessous de 2 cas se présentent pour moi
Cas 1: nouvelles colonnes ajouts
problème se produit pour une libération lorsque, par exemple pour que j'ai quelques nouvelles colonnes ajoutées à certaines tables de db pour capturer des informations supplémentaires pour lesquelles des champs de texte respectifs ont également été ajoutés à l'interface utilisateur de l'application.
Ici les utilisateurs de la nouvelle version de l'application fonctionnera comme prévu (envoyer ces 2 informations à des colonnes), mais les versions plus anciennes ne seront pas enverraient les champs 2 valeurs
Cas n ° 2: Les colonnes supprimées
par exemple i Je re-architectures de l'application d'une manière importante et j'ai besoin de normaliser la base de données car il était inefficace plus tôt, ce qui conduit même à la rupture des tables etc ou la suppression de quelques colonnes.
Ici, les anciennes versions de l'application ne feraient que planter ou ne pas fonctionner.
je sens toutes les applications d'affaires i construire aura ce même scénario pour gérer et il devrait être question commune à tous
Je suis en train d'écrire une logique personnalisée où l'application vérifiait lors de la connexion au serveur api pour un "mettre à jour le drapeau" et si la version de l'application est définie sur être forcé de mettre à jour pour le faire fonctionner avec la version api puis l'application serait redirigée vers la boutique de jeu/app.
Je voudrais savoir comment tout le monde gère ce problème et je fais le bon chemin.
Y a-t-il un plugin de rails ou une librairie qui s'occupe déjà de ce problème particulier ou aide à le faire. Je sais qu'il ya beaucoup de pierres précieuses disponibles mais versioning ils ne prennent pas en charge ce problème [force application de mise à jour]
S'il vous plaît guider
Salut jatin, oui c'est similaire à la logique personnalisée je construis aussi. Ce qui diffère, c'est que j'utilise un indicateur de mise à jour séparé pour déterminer où la version de l'application doit être mise à jour. Je n'utilise pas les valeurs de version majeures mineures car la séquence de version de l'application et de l'API peut croître indépendamment, par exemple. l'application pourrait être à la version 3.2.7 et l'API pourrait être à 2.8.3. Voyez-vous des avantages de garder la version majeure de l'application et api en sync..again ne connais pas les meilleures pratiques ici aussi –