2

Herokuに2つのアプリがあり、同じ専用データベースを使用してほしい。問題は、この新しいアプリが他のアプリと同じモデル/テーブルを持っていることです。

私の質問は次のとおりです。

  • 新しいアプリのテーブルの名前を変更する必要がありますか?

  • はいの場合、私のモデルの名前はどうですか?別の名前のテーブルでモデルをマップすることは可能ですか?(の代わりにテーブルを使用Userしたモデルのように)。new_useruser

これを行う方法についての良いアドバイスをいただければ幸いです。

ありがとう!

4

1 に答える 1

2

一般的に、これはおそらく見た目ほど良い考えではありません。Railsは、データベースを100%制御できると想定するように設計されています。

テーブルを分離して衝突させなくても、schema_migrationsテーブルには課題があります。このテーブルには、レールのすべての移行が含まれ、両方のアプリケーションのすべての移行レコードが混在しています。これにより、たとえば、実行しようとしrake db:rollbackたり、他のrakeコマンドを実行したりすると、アプリが混乱します。

schema.rbまた、ファイルが2つのアプリケーション間で同期しなくなる可能性があるという問題も発生する可能性があります。

データベースを共有したい理由をよく調べて、やろうとしていることを達成する他の方法があるかどうかを確認することをお勧めします。たとえば、アクティブリソースを使用してアプリケーションを安らかに接続することを検討できます。

于 2012-05-01T10:31:06.567 に答える