0

Bamboo スタックで実行されている私の古い Ruby 1.9.2 Sinatra アプリでは、heroku コンソールは、アクティブ レコードを初期化するだけでなく、.heroku ディレクトリの履歴ファイルにもログを記録するシェルを提供しました。

Heroku Cedar スタックに移行し、Ruby 1.9.3 を使用した後、heroku 実行コンソールがアクティブ レコード モデルをまったく読み込まないことに気付きました。小さな ruby​​ スクリプトを記述して Active Record を初期化し、モデルをロードすることで、この問題を修正しました。

厄介なheroku run 'bundle exec irb -r ./console'を使用してこれを実行します

この IRB コンソールは問題なく起動し、モデル データにアクセスできますが、履歴は記録されません。

1) なぜ heroku run コンソールはそれほど無力化されているのですか? 2) コンソール セッションを履歴に記録するにはどうすればよいですか?

お願いします?

ありがとう

4

2 に答える 2

2

に次の行を追加しますProcfile

console: bundle exec irb -r ./console

新しい呼び出しごとに dyno がスピンアップするため、履歴を保持することは容易ではありません (Cedar スタックも Rails コンソールの履歴を保持しません)。rlwrapを使用して、履歴をローカル マシンに保存してみてください。

于 2012-04-27T00:02:05.640 に答える
0

ドキュメントから:

heroku コンソールを Rails のスクリプト ランナーの代わりとして使用して、コマンド ラインから直接 1 回限りのコマンドを実行できます。

引数を指定しないと、または Railsコマンドheroku consoleと同様の対話型コンソールが起動しますirbscript/console

run consoleRails コンソールの実行を目的としている、またはirb.

于 2012-04-26T16:36:24.440 に答える