menjalankan konsol Rails dalam produksi

105

Saya baru saja menjalankan situs Rails pertama saya, tetapi sekarang saya mengalami masalah. Ketika saya menjalankan proyek dalam mode pengembangan di IDE saya, saya dapat menjalankan konsol ke sesuatu seperti:

User.first.name='whatever' untuk mengubah nama pengguna.

Bagaimana cara menyelesaikan tugas yang sama di situs langsung dalam mode produksi?

nFinIt_loop
sumber

Jawaban:

182

jika Anda menjalankan rel 3.0 atau lebih tinggi, Anda juga dapat menggunakan

rails console production

produksi tentu saja dapat diganti dengan developmentatau test(nilai secara developmentdefault)

Menambahkan opsi --sandboxmembuatnya sehingga setiap perubahan yang Anda buat ke database Anda di konsol akan dibatalkan setelah Anda keluar

Jika ini tidak berhasil untuk Anda, Anda mungkin perlu mencobanya

bundle exec rails console production

Jika Anda benar-benar mencoba menjalankan konsol rel di server produksi Anda, coba googling "run rails console [penyedia cloud hosting Anda]" misalnya "run rails console heroku"

Pada Rails 6, Anda perlu menggunakan

RAILS_ENV=production bundle exec rails c

atau

RAILS_ENV=production rails c

tergantung pada pengaturan Anda

Peter Berg
sumber
53

Sangat mudah:

RAILS_ENV=production rails console
batu besar
sumber
23

Jika Anda telah menerapkan situs Anda ke server, Anda juga dapat menggunakan:

bundle exec rails console production

... di webroot aplikasi rel Anda. Itu jika Anda belum menginstal paket rails secara langsung di server atau jika Anda ingin menjalankan konsol dalam konteks aplikasi web Anda.

RNickMcCandless
sumber
1
... khususnya di Rails 4.
IAmNaN
6

Catatan: Jawaban ini mengasumsikan Anda menggunakan Heroku sebagai layanan hosting Anda.

Itu tergantung pada layanan hosting apa yang Anda gunakan. Untuk Heroku, Anda dapat pergi ke terminal Anda dan mengetik

heroku run rails console

Ini akan memuat konsol rel untuk situs produksi Anda dan memungkinkan Anda membuat rekaman untuk situs langsung Anda.

Anda juga dapat melihat ke dalam seeding database tetapi itu umumnya dimaksudkan untuk pengujian. RailsCasts memiliki beberapa video tentang topik ini tetapi video tersebut agak ketinggalan jaman.

jason328
sumber
6

Coba perintah di bawah ini.

  rails c -e production
Pratap
sumber
-1

hari ini dengan rel 6 berjalan di konsol RAILS_ENV=production rails console

daniel0318
sumber