web-dev-qa-db-ja.com

「本番」でrakeタスクを実行し、環境を指定しますか?

Linodeにホストがあり、Rakeタスクを実行しようとしていますが、接続できないというmySQLエラーが表示されます。 devにあると思われるようです。私はグーグルをいくつか行い、次のようなことができることがわかりました。

bundle exec Rails c

開発環境をロードし、User.allを実行できないため、アクセス拒否エラーが発生します。

bundle exec Rails c Rails_ENV=productionを実行すると、次のエラーが発生します。

Rails.env=production database is not configured (ActiveRecord::AdapterNotSpecified)

ただし、ウェブ経由でアクセスすれば問題ありません。以前はrake db:seedを実行できたので、これにはいくつかの方法があることを知っています。

本番認証情報を使用してmySQLにアクセスすることは正常に機能します。

何か案は?

24
timpone

これを試して:

Rails c production

または、最初に:

Rails_ENV=production Rails c

最後に置くと、Rails_ENV=productionを引数として渡すと考えられます。

52
Nick Colgan

Gemfileの現在のバンドルのコンテキストでコンソールを実行し、Gemsetを使用していることを確認する場合は、次のコマンドを使用します。

bundle exec Rails c production 
2
Hunter

これは私にとってはうまくいきます。これは、サーバーとそのすべての依存関係の設定方法によって異なります。

Rails_ENV=production bundle exec Rails console

0
Mark Locklear