3

を変更したとき、私はレールAPIサーバー 上のルビーに接続し、このアプリは、データベースサーバーとしてのPostgreSQLを使用してイオンAndroidモバイルアプリを持っています。正しい方法あなたのデータベーススキーマは

私は両方とも、アプリストアへのAPIと新しいアプリを展開し、独自のバージョン番号配列を有するAPIのそれぞれのバージョンやアプリを、バンプ新しい機能を作成するたび。
APIがサーバーにデプロイされますが、2例が私のために発生し、以下のように、ユーザーデバイス上のアプリケーションのは、頻繁に更新されていない

ケース1:新規の列が
問題は、例えばのために、私はいくつか持っているときのリリースのために起こる追加しますdbの特定のテーブルに新しい列が追加され、それぞれのテキストフィールドもアプリケーションのUIに追加された追加情報がキャプチャされます。予想通りアプリの新しいバージョンのユーザーは動作します。ここ
はなく、(それらの2列に情報を送信する)古いバージョンでは、これらの2フィールドを送信されることはありません値

ケース2:列は、例えば
を削除したIアプリケーションを大規模に再構築していて、データベースの正規化が早すぎると効率が悪く、テーブルの破損や列数の削除につながることさえあります。
古いバージョンのアプリケーションは単にクラッシュするか、動作しなくなるだけです。

私が構築し、すべてのビジネスアプリを管理するには、この同じシナリオを持っていますし、それは私がAPIサーバーに接続したときにアプリがチェックするいくつかのカスタム・ロジックの作成プロセスにいるすべての

に共通の問題であるべき感じます「更新フラグ」とアプリのバージョンが に設定されている場合、それはその後、アプリが再生するためにリダイレクトされますAPIバージョン/アプリストアで動作させるために更新力ことについて。

私は、誰もがこの問題を処理する方法を知りたいのですが、私は右の道を行っています。

は既にこの特定の問題 の世話をするか、そうすることに役立ちます任意のレールのプラグインやライブラリがあります。 私は設定のためのAPIは、Android上で呼ばれていたプロジェクトで働いてきた

答えて

0

を案内してください

[力は、アプリを更新]私が利用できるバージョン管理宝石がたくさんある知っているが、彼らはこの問題の世話をするいけませんアプリケーションの起動。このAPIは、major_versionminor_versionの2つのフィールドを提供します。構成APIのmajor_versionがアプリケーションのものと一致しなかった場合は、強制的にアプリケーションの更新を求めるポップアップが表示されます。これはスタートアップ画面に表示されるため、アプリケーションのアップデートを強制しない限り、アプリケーションの実際の内容にアクセスすることはできません。 2つのアプリケーションバージョンまたは2つのAPIバージョンの間で強制的に更新したくない場合は、minor_versionを調整するオプションがあります。

+0

こんにちはjatinは、はい、これは私も構築していたカスタム・ロジックに似ています。何が違うのですか?別のバージョンの更新フラグを使用して、アプリケーションのバージョンを強制的に更新する必要があるかどうかを判断しています。 appとapiのバージョンシーケンスは、例えば、次のように独立して成長する可能性があるため、私はマイナーメジャーバージョン値を使用していません。アプリはバージョン3.2.7にあり、APIは2.8.3になる可能性があります。あなたはsync.での主要なバージョンのアプリとapiを保持することの利点を見ますか?ここでもベストプラクティスは分かりません –

関連する問題