Railsアプリ(R)を使用して、別の(Ruby以外の)アプリケーション(A)によって管理されているデータベースを表示および変更する状況があります。(A)はビジネスのメインアプリであり、(R)は管理者向けのサポートです。したがって、(R)は提供されたスキーマを使用するだけで、データベースをセットアップ/変更するための移行は行われません((A)によって処理されます)。
私が抱えている問題は、(A)にはいくつかの異なる展開があり、(R)も展開する必要があるということです。ただし、データベースのスキーマは展開ごとに異なります((A)は異なる時間にアップグレードされ、異なる方向に移動するため)。理想的な状況は、すべてのデプロイメントを最新のリリースに更新でき、(A)と(R)のデータベース構造が一貫していることですが、これは現実的には不可能です。
私は現在、これらの(R)リリースをさまざまなブランチで管理しており、チェリーピッキングは1つずつ変更されていますが、これは扱いにくくなっています。特に現在7つの支店があり、この数が増えているためです。
もっと良い方法はありますか?データベースレイヤーをレール側のWebアプリと切り離すのに役立ちますか?それはどのように機能しますか?