私は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環境のにあります。
だから、私の最近作成ステージングサービスに対してマイグレーションを実行する方法について見当もつかない。
あなたは 'bundle exec rake appengine:exec-bundle exec rake db:migrate RAILS_ENV = staging'のようなものを試しましたか? – ddubs
確かに。私は新しい環境を指しているレーキタスクのすべての組み合わせを試しました。しかし、何も起こらなかった。 –