2016-07-03 3 views
0

내 노드 스크립트는 환경 변수를 사용하여 POSTGRES_CONNECTION이라는 Postgres 데이터베이스에 대한 연결을 설정합니다.스크립트를 실행할 때 환경 변수의 별명을 지정하는 방법은 무엇입니까?

그러나 연결 문자열 DATABASE_URL의 이름을 지정하는 Heroku에 배포됩니다.

값을 POSTGRES_CONNECTION으로 코드를 매핑하는 우아한 방법이 있습니까? 코드 외부에있는 것이 바람직합니까? 내가 connectToPostgres(process.env.POSTGRES_CONNECTION ? process.env.POSTGRES_CONNECTION : process.env.DATABASE_URL)과 같은 것을 할 수 있다는 것을 알고 있지만 환경 의존적 인 구성으로 코드를 오염시키는 것 같아서 피하고 싶습니다.

또는 개발 변수 (POSTGRES_CONNECTION)의 이름을 바꿀 수 있지만 다른 데이터베이스도 있으므로 DATABASE_URL은 다소 일반적인 것으로 보이며 여러 하위 환경에서도 이미 사용되고 있습니다.

답변

0

명백한 것처럼 보였지만 가장 좋은 방법은 package.json 스크립트에 별칭을 제한하고 Heroku에 다른 스크립트를 사용하는 것입니다.

package.json

{ 
    "scripts": { 
    "start": "node index.js", 
    "heroku": "POSTGRES_CONNECTION=$DATABASE_URL npm start" 
    } 
} 

Procfile

web: npm run heroku 
관련 문제