2013-02-28 4 views
90

저는 처음으로 레일즈 사이트를 처음 보았지만 지금은 문제가 있습니다. IDE에서 개발 모드로 프로젝트를 실행하면 다음과 같이 콘솔을 실행할 수 있습니다.레일스 콘솔을 프로덕션에서 실행

User.first.name='whatever' 사용자 이름을 변경합니다.

프로덕션 모드에서 라이브 사이트에서 동일한 작업을 수행하려면 어떻게해야합니까?

+1

콘솔에서 장난 전에 DB를 당신이 백업하게 작동하는 "레일 C는 번들/간부"- 때 생산 – house9

+1

또는 경우 지정된 --sandbox 옵션을 사용하여 콘솔을 실행 당신은 변경 사항을 저장하고 싶지 않다. –

답변

5

참고 :이 답변은 귀하가 호스팅 서비스로 Heroku를 사용한다고 가정합니다.

사용중인 호스팅 서비스에 따라 다릅니다. Heroku가 들어,이 프로덕션 사이트의 레일 콘솔을로드

heroku run rails console 

에 터미널 및 유형에 갈 수 있고 당신이 당신의 라이브 사이트에 대한 레코드를 만들 수 있습니다.

seeding a database도 볼 수 있지만 일반적으로 테스트를위한 것입니다. RailsCasts는 주제에 대한 비디오를 가지고 있지만 조금 구형입니다.

42

아주 쉽게 :

RAILS_ENV=production rails console 
+3

참고'rails console production'도 레일 3.0 이상에서 작동한다 –

+13

나처럼 게으른 사람이라면'rails c production'을 입력 할 수도있다. –

159

실행하는 경우 당신은 또한

rails console production 

생산은 물론 대체 할 수 있습니다 사용할 수 있습니다, 3.0 이상 레일 development 또는 test (값에 의해 development입니다 기본값)

옵션 --sandbox을 추가하면 데이터베이스에서 변경 한 내용이 onsole 당신을 위해 작동하지 않는이, 당신은 인터넷 검색을 시도 실제로 프로덕션 서버에 레일 콘솔을 실행하려는 경우

bundle exec rails console production 

을 시도해야 할 수 있습니다 경우

을 종료 한 후 롤백됩니다 "레일 콘솔 [귀하의 클라우드 호스팅 제공 업체]"실행 "실행 레일 콘솔 Heroku가"이미 서버에 사이트를 배포 한 경우

+0

와우 ... 어떻게 든 나는 이것을 결코 알지 못했다. 나는 항상 더 복잡하다고 생각했다. – Tallboy

+1

'rails console '대신에'rails c'도 할 수있다.(레일즈 서버 대신에'레일즈 s') –

+2

'bundle exec'가 필요할 수도 있습니다. – DazBaldwin

20

은 또한 사용할 수 있습니다

bundle exec rails console production 

을 ... 당신의 레일 응용 프로그램의 웹 루트에. 서버에 직접 레일 패키지를 설치하지 않았거나 웹 응용 프로그램의 컨텍스트에서 콘솔을 실행하려는 경우입니다.

+1

... 특히 레일 4에서. – IAmNaN

2

아래 명령을 시도해보십시오.

rails c -e production 
+1

-e는 필수가 아니거나 유효하지 않습니다. 다른 사람을 참조하십시오 아래 답변 –

관련 문제