最初のRailsサイトを公開したばかりですが、問題が発生しています。IDEでプロジェクトを開発モードで実行すると、コンソールを次のように実行できます。
User.first.name='whatever'
ユーザー名を変更します。
プロダクションモードのライブサイトで同じタスクを実行するにはどうすればよいですか?
最初のRailsサイトを公開したばかりですが、問題が発生しています。IDEでプロジェクトを開発モードで実行すると、コンソールを次のように実行できます。
User.first.name='whatever'
ユーザー名を変更します。
プロダクションモードのライブサイトで同じタスクを実行するにはどうすればよいですか?
回答:
Rails 3.0以上を実行している場合は、
rails console production
生産はもちろんdevelopment
or で置き換えることができますtest
(値はdevelopment
デフォルトです)
オプション--sandbox
を追加すると、コンソールでデータベースに加えた変更は、終了後にロールバックされます
これでうまくいかない場合は、
bundle exec rails console production
実際に本番サーバーでrails consoleを実行しようとしている場合は、「run rails console [ご利用のクラウドホスティングプロバイダー]」をググリングしてみてください。例:「run rails console heroku」
Rails 6以降では、使用する必要があります
RAILS_ENV=production bundle exec rails c
または
RAILS_ENV=production rails c
セットアップに応じて
サイトをサーバーに既に展開している場合は、次のものも使用できます。
bundle exec rails console production
...あなたのrailsアプリのwebrootに。これは、まだRailsパッケージをサーバーに直接インストールしていない場合、またはWebアプリのコンテキスト内でコンソールを実行する場合です。
注:この回答は、ホスティングサービスとしてHerokuを使用していることを前提としています。
使用しているホスティングサービスによって異なります。Herokuの場合、ターミナルに移動して次のように入力できます
heroku run rails console
これにより、本番サイトのRailsコンソールが読み込まれ、ライブサイトのレコードを作成できるようになります。
データベースのシードを検討することもできますが、これは通常、テスト用です。RailsCastsにはこのトピックに関するいくつかのビデオがありますが、少し古くなっています。