1

私はマルチテナントRuby on Railsアプリケーションを開発中です。私は彼の支店を引っ張って、新しい移行ファイルを受け取りました。私はrake db:migrateを実行しました。私はそのコントローラのインデックスを訪問し、私は未定義のエラーを取得します。PG :: UndefinedTable:ERROR:マルチテナントRailsアプリケーションのリレーションが存在しません

若干の調査の後、私はテナントを作成した後に移行を実行したことを理解しました。 (参考:PG::UndefinedTable: ERROR: relation "..." does not exist)、私はrake db:resetがこの問題を解決したことを理解しています。しかし、リセットを行うことで、私が開発中にうまくいく私のデータが消去されます。

私の関心事は、これは実稼働環境でどのように機能するのでしょうか?プロダクションにリリースすると、既存のテナントでは移行や新機能の出荷ができません。

これには永久的な解決策はありますか?

答えて

2

あなたが設定ファイルに以下の行を設定した場合、

config.tenant_names = lambda{ Customer.pluck(:tenant_name) } 

あなたがrake db:migrateを実行すると、すべての既存テナントのスキーマが移行されます。

+0

ありがとうございました!その1インチの細部を逃した。 upvoteに十分なポイントを持っていないが、確かにそれに値する。 –

+0

私はあなたの質問に投票しましたので、あなたの後の質問への回答の投票にいくつかのポイントがあります:-) – Jayaprakash

+0

ありがとう! –

関連する問題