2012-02-04 20 views
23

私はLinodeにホストがあり、そこにRakeタスクを実行しようとしていますが、接続できないというエラーが表示されます。それはそれがdevの上にあると思うように見えます。私はいくつかのグーグルを行なったし、私はこのような何かができることを見た:rakeタスクを 'production'で実行し、環境を指定していますか?

bundle exec rails c 

それは、DEV環境をロードすると、私は私にアクセス拒否エラーを与えるUser.allを実行することはできません。私は、Web経由でアクセスする場合、すべてがOKである、しかし

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

:私はbundle exec rails c RAILS_ENV=productionを実行する場合

私はエラーを取得します。私は前にrake db:seedを実行することができましたので、私はそこに何らかの方法があることを知っています。

実稼働資格情報でmySQLにアクセスすると正常に動作します。

アイデア?

rails c production 

または、冒頭:

RAILS_ENV=production rails c 

それはあなたが最後にそれを置く引数としてあなたがRAILS_ENV=productionを渡していると考えて

+2

RAILS_ENVは、熊手のためであります最初の引数 'rails console production' - railsを呼び出すときにバンドルexecを使う必要はありません - それ以外のもの(rake)のために使ってください – house9

+1

xnmとhouse9の答えに似ています:' RAILS_ENV = production rake my_task_name'を試してみてください。それはあなたの環境を恒久的に変更するものではなく、タスクのためだけであり、心配しないでください。 – mjnissim

答えて

49

はこれを試してみてください。

1

あなたのGemfileに現在のバンドルのコンテキストでコンソールを実行すると、あなたのGemsetの使用を使用していることを確認したい場合:レールコンソールが同じような環境を渡すと

bundle exec rails c production 
関連する問題