クライアント用の新しいレールアプリを構築しています。彼らはすでにユーザーを管理する別の Rails アプリを (すべての標準の Devise フィールドで) 持っており、両方のアプリでユーザーを維持する必要はありません。これは完全に理にかなっています。
接続の詳細に database.yml を使用し、User モデルで Establish_connection: を使用して、リモート データベースに接続できます。少し遅いですが(公共のインターネットを経由します)、動作します。このリモート データベースに依存してクエリを実行すると、アプリの速度が大幅に低下するのではないかと心配しています。また、リモート データベースとの結合もできません。
私の考えは、アプリでユーザーテーブルを複製し、テーブルを「マスター」と同期させるために、数時間ごとに (またはそれ以上の頻度で) 実行される cron ジョブを作成することです。
そうしない理由はありますか?デザインの観点からはひどいアイデアですか?
私の DB は postgres で、リモート DB は mysql です。DbCharmer gem ( http://dbcharmer.net/ ) も読み始めましたが、まだ完全には理解していません。
- 編集: -
また、users テーブルだけでなく、リモート DB から他のテーブルを読み取る必要があることにも言及する必要があります。