รัน Rails console ในการผลิต


105

ฉันเพิ่งใช้งานไซต์ Rails แรกของฉัน แต่ตอนนี้ฉันมีปัญหา เมื่อฉันรันโปรเจ็กต์ในโหมดการพัฒนาบน IDE ของฉันฉันสามารถเรียกใช้คอนโซลเพื่อทำสิ่งต่อไปนี้:

User.first.name='whatever' เพื่อเปลี่ยนชื่อผู้ใช้

ฉันจะทำงานเดียวกันให้สำเร็จบนไซต์จริงในโหมดการผลิตได้อย่างไร

คำตอบ:


182

หากคุณกำลังใช้ราง 3.0 ขึ้นไปคุณสามารถใช้ไฟล์

rails console production

แน่นอนว่าการผลิตสามารถทดแทนด้วยdevelopmentหรือtest(ค่าเป็นdevelopmentค่าเริ่มต้น)

การเพิ่มตัวเลือก--sandboxทำให้การเปลี่ยนแปลงใด ๆ ที่คุณทำกับฐานข้อมูลของคุณในคอนโซลจะถูกย้อนกลับหลังจากที่คุณออก

หากไม่ได้ผลสำหรับคุณคุณอาจต้องลอง

bundle exec rails console production

หากคุณกำลังพยายามเรียกใช้คอนโซลรางบนเซิร์ฟเวอร์ที่ใช้งานจริงให้ลองใช้ googling "รันคอนโซลราง [ผู้ให้บริการคลาวด์โฮสติ้งของคุณ]" เช่น "รันคอนโซลคอนโซล heroku"

สำหรับ Rails 6 คุณต้องใช้

RAILS_ENV=production bundle exec rails c

หรือ

RAILS_ENV=production rails c

ขึ้นอยู่กับการตั้งค่าของคุณ



23

หากคุณได้ปรับใช้ไซต์ของคุณกับเซิร์ฟเวอร์แล้วคุณยังสามารถใช้:

bundle exec rails console production

... ในเว็บรูทของแอปรางของคุณ นั่นคือถ้าคุณยังไม่ได้ติดตั้งแพ็คเกจรางบนเซิร์ฟเวอร์โดยตรงหรือหากคุณต้องการเรียกใช้คอนโซลภายในบริบทของเว็บแอปของคุณ


1
... โดยเฉพาะอย่างยิ่งใน Rails 4
IAmNaN

6

หมายเหตุ: คำตอบนี้ถือว่าคุณใช้ Heroku เป็นบริการโฮสติ้งของคุณ

ขึ้นอยู่กับว่าคุณใช้บริการโฮสติ้งอะไร สำหรับ Heroku คุณสามารถไปที่เครื่องปลายทางของคุณแล้วพิมพ์

heroku run rails console

สิ่งนี้จะโหลดคอนโซลรางสำหรับไซต์การผลิตของคุณและจะช่วยให้คุณสร้างบันทึกสำหรับไซต์ที่ใช้งานจริงของคุณได้

นอกจากนี้คุณยังสามารถดูการสร้างฐานข้อมูลได้แต่โดยทั่วไปมีไว้สำหรับการทดสอบ RailsCasts มีวิดีโอบางส่วนในหัวข้อนี้ แต่ค่อนข้างล้าสมัย



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.