0

私はRuby on Rails APIを開発しており、Google Cloud Platform、特にGoogle App Engineを使ってアプリケーションを配備しています。私は指示hereに従った。ここまでは順調ですね。私のアプリは正常にデプロイされており、正常に移行できました。この環境を生産と呼ぶことにしましょう。特定のGoogle App EngineサービスでRuby on Railsの移行を実行する

私はステージ環境の種類を展開する必要があります。当面は、私の問題を解決するための別のプロジェクトを作成し、それを私のステージング環境とみなさなければなりませんでした。今、私はこれが必要だとは思わないが、実際は冗長であるようだ。

別のデータベースmy_app_db_stagingを用意しました。サービス名がの別のインスタンスとして実行するように指定したstaging.yamlファイルを作成しました。サービスは正常に展開されました。問題はどこだ?さて、移行を実行します。私はappengineの宝石を使用しています。だから、あなたが実行することになっているマイグレーションを実行する:

bundle exec rake appengine:exec -- bundle exec rake db:migrate 

しかし、ドキュメントの状態として:

appengine宝石は、最新の展開バージョンに対してコマンドを実行するためのRakeタスクappengine:execを提供しますApp App Engine環境のにあります。

だから、私の最近作成ステージングサービスに対してマイグレーションを実行する方法について見当もつかない。

+0

あなたは 'bundle exec rake appengine:exec-bundle exec rake db:migrate RAILS_ENV = staging'のようなものを試しましたか? – ddubs

+0

確かに。私は新しい環境を指しているレーキタスクのすべての組み合わせを試しました。しかし、何も起こらなかった。 –

答えて

1

私はappengineの宝石をより深く見て、それはオプションがあります。

rake appengine:exec GAE_CONFIG=staging.yaml -- bundle exec rake db:migrate 

オプションはGAE_SERVICEと一緒に作業することができますが、YAMLファイルの名前が同じである必要がありそうでない場合、あなたが買ってあげる、:あなたは答えを探して時間を無駄にする必要はありませんので、それはより多くのドキュメントを欠いエラー。

関連する問題