3

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

Répondre

0

Je travaille sur un projet où une API pour la configuration a été appelée sur Android Démarrage de l'application. Cette API fournirait 2 champs: major_version et minor_version. Si le major_version de l'API de configuration ne correspondait pas à celui de l'application, une fenêtre contextuelle vous demandait de forcer la mise à jour de l'application. Ce sera sur l'écran de démarrage, de sorte que vous ne serez pas en mesure d'accéder au contenu réel de l'application, sauf si vous forcez la mise à jour de votre application. Si vous ne souhaitez pas mettre à jour une force entre deux versions d'application ou deux versions d'API, vous pouvez modifier le minor_version.

+0

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 –