Skip to main content
Sonamu๋Š” sonamu.config.ts๋ฅผ importํ•˜๊ธฐ ์ „์— API ํŒจํ‚ค์ง€ ๋ฃจํŠธ์˜ dotenv ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ๊ณตํ†ต ๊ธฐ๋ณธ๊ฐ’์€ .env, ํ™˜๊ฒฝ๋ณ„ ๊ฐ’์€ .env.<environment>, ๋จธ์‹ ๋ณ„ ๋กœ์ปฌ override๋Š” .env.local์— ๋‘ก๋‹ˆ๋‹ค.
์‹ค์ œ ๋น„๋ฐ€๊ฐ’์ด ๋“ค์–ด ์žˆ๋Š” .env ํŒŒ์ผ์€ ์ปค๋ฐ‹ํ•˜์ง€ ๋งˆ์„ธ์š”. ์˜ˆ์‹œ๋‚˜ ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ๋งŒ ์ปค๋ฐ‹ํ•˜์„ธ์š”.

๋กœ๋”ฉ ์ˆœ์„œ

ํ˜„์žฌ NODE_ENV์— ๋Œ€ํ•ด Sonamu๋Š” ๋‹ค์Œ ์ˆœ์„œ๋กœ ๊ฐ’์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  1. .env
  2. .env.${NODE_ENV}
  3. .env.local
  4. export๋œ process ํ™˜๊ฒฝ๋ณ€์ˆ˜
๋’ค์— ์˜ค๋Š” ๊ฐ’์ด ์•ž์˜ ๊ฐ’์„ ๋ฎ์Šต๋‹ˆ๋‹ค. NODE_ENV๊ฐ€ ์—†์œผ๋ฉด development๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ ๊ฐ’์€ test, development, staging, production์ž…๋‹ˆ๋‹ค.

ํŒŒ์ผ ๊ตฌ์กฐ

ํ˜„์žฌ ํ™˜๊ฒฝ์˜ ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด ๊ณตํ†ต .env๋Š” ์—†์–ด๋„ ๋ฉ๋‹ˆ๋‹ค. ๋‹จ, .env ๋˜๋Š” .env.${NODE_ENV} ์ค‘ ํ•˜๋‚˜๋Š” ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณตํ†ต ๊ฐ’

.env

ํ™˜๊ฒฝ๋ณ„ ๊ฐ’

.env.development

sonamu.config.ts

sonamu.config.ts์—์„œ๋Š” process.env๋ฅผ ๊ทธ๋Œ€๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Sonamu๋Š” config ํŒŒ์ผ์„ importํ•˜๊ธฐ ์ „์— ํ˜„์žฌ ํ™˜๊ฒฝ ๊ฐ’์„ ๋จผ์ € ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
sonamu.config.ts
์ œ๊ฑฐ๋œ database.name ๋˜๋Š” database.environments ํ•„๋“œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„๊ณผ ํ™˜๊ฒฝ๋ณ„ ์—ฐ๊ฒฐ๊ฐ’์€ ์ด์ œ SONAMU_DB_* ๋ณ€์ˆ˜์™€ projectName์—์„œ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

์ „ํ™˜ ํŒ

  • DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DATABASE_NAME์€ ๊ฐ๊ฐ SONAMU_DB_HOST, SONAMU_DB_PORT, SONAMU_DB_USER, SONAMU_DB_PASSWORD, SONAMU_DB_NAME์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”.
  • ์ฝ๊ธฐ ์ „์šฉ replica๋Š” SONAMU_DB_READONLY_*๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—†๋Š” read-only ํ•„๋“œ๋Š” ํ˜„์žฌ ํ™˜๊ฒฝ์˜ main DB ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • fixture DB์—๋Š” SONAMU_DB_FIXTURE_*๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณตํ†ต ํŒŒ์ผ๊ณผ ํ™˜๊ฒฝ๋ณ„ ํŒŒ์ผ ๋‹ค์Œ์— ์ ์šฉํ•  ๋กœ์ปฌ override๋Š” .env.local์— ๋‘ก๋‹ˆ๋‹ค.