2014-03-02 4 views
2

Rails Composer를 사용하여 스켈레톤 응용 프로그램을 생성하고 Figaro를 포함 시켰습니다. 성공적으로 로컬로 실행됩니다. 내가 수정하기 전에, 나는 그것을 Heroku에 밀어 넣고있다. 그러나, heroku run rake db : seed failed. App/config/application.yml이 .gitignored라는 것을 알게되었습니다. 그래서, 나는 rake figaro : heroku를 사용하여 heroku가 rake db : seed를 실행하기 전에 환경 변수를 설정해야합니다. 그러나, 레이크 피가로 : Heroku가이 같은 실패는 다음과 같습니다 그냥 내 응용 프로그램/설정/application.yml을 무시하고 나에게 라인 지시 입력을 요구하고있다처럼Figuro 환경 변수가 Heroku로 설정되지 않음

D:\BitNami\rubystack-2.0.0-11\projects\myapp>rake figaro:heroku 
! Usage: heroku config:set KEY1=VALUE1 [KEY2=VALUE2 ...] 
! Must specify KEY and VALUE to set. 

이 보이는,하지만 난 모르겠어요. 다시 말하지만 응용 프로그램은 로컬에서 성공적으로 실행되므로 application.yml이 정확해야합니다. 여기에 그것은 :

나는 heroku run rake db : seed를 발행 할 때 씨앗에서 오류가 발생합니다. 파일은 다음과 같습니다.

ENV [ 'ROLES']이 (가) 초기화되지 않아 가변 역할에 처음 액세스 할 때 오류가 발생합니다. 그것은 application.yml에 의해 초기화되고 로컬이지만, .gitignored입니다. 따라서, 레이크 피가로의 필요성 : 성공하기위한 영웅.

이것은 특히 로컬에서 부드럽게 실행되기 때문에 매우 단순 해 보입니다. OBTW, 나와있는 것처럼 application.yml 시도하고 이중 따옴표로 문자열을하지만 어떤 경우에도 차이를 만들 것 같지 않습니다 ...

아이디어? 감사합니다 ...

답변

1

나는이 질문이 Windows 질문이라는 것을 알고 있습니다. 문제는 배열이 Windows에서 올바르게 처리되지 않는다는 것입니다. 내가 한 번 만들어 해결 방법은 내가 가능성이 다른 변수 유형의 피가로의 처리를 할 것이다 문제를 추측 것

module Figaro 
    module Tasks 
    class Heroku # < Struct.new(:app) 
     def vars 
     Figaro.env(environment).map { |key, value| 
      if value.start_with? "[" 
      value = "'#{value.gsub('"', '')}'" 
      elsif value.include? " " 
      value = "'#{value}'" 
      end 
      "#{key}=#{value}" 
     }.sort.join(" ") 
    end 
    end 
    end 
end 
+0

configaro/initializers/Figaro.rb와 heroku run rake db : seed를 예상대로 실행했습니다. 그것은 완전히 다른 이유로 폭발했지만이 원숭이 패치는 훌륭하게 작동했습니다! –

0

처럼, lib 디렉토리/작업의 레이크 파일에 Heroku가의 "바르"메소드를 오버라이드 (override)하는 것입니다

MANDRILL_USERNAME: "[email protected]" 
MANDRILL_APIKEY: "a.valid.apikey" 

ADMIN_NAME: "Admin Name" 
ADMIN_EMAIL: "[email protected]" 
ADMIN_PASSWORD: "validpassword" 

ROLES: ["admin", "user", "VIP"] 

&을 삭제하면 피가로에만 KEY: "VALUE"을 보낼 수 있습니다. 당신의 공간은 기본적으로 시스템에 오역을 야기 할 것입니다.

+0

내가 언급했듯이, 나는 동일한 결과를 가진 큰 따옴표로 그것을 시도했다. 슬프게도. –

관련 문제