Skip to content

Latest commit

ย 

History

History
70 lines (51 loc) ยท 2.11 KB

File metadata and controls

70 lines (51 loc) ยท 2.11 KB

DB Workspace

packages/db๋Š” Harness Docs์˜ PostgreSQL ์˜์† ๊ณ„์ธต ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.

์ด ์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” ์„œ๋ฒ„ ์ธก์—์„œ ์‚ฌ์šฉํ•˜๋Š” DB ์—ฐ๊ฒฐ, Drizzle ์Šคํ‚ค๋งˆ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ํƒ€์ž… ์•ˆ์ „ํ•œ ์ง„์ž…์ ์„ ํ•œ๊ณณ์— ๋ชจ์๋‹ˆ๋‹ค. API๋Š” ์ด ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด ์˜์† ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๊ณ , desktop์€ ์ง์ ‘ ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์ „์ œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์†Œ์œ  ์ฑ…์ž„

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ค์ •
  • Drizzle ์Šคํ‚ค๋งˆ ์ •์˜
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ƒ์„ฑ๊ณผ ์ ์šฉ
  • API๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” DB client์™€ ๊ณต๊ฐœ entrypoint ์ œ๊ณต

์ฃผ์š” ํŒŒ์ผ

  • src/config.ts: DB ์„ค์ •
  • src/client.ts: DB ํด๋ผ์ด์–ธํŠธ ์ƒ์„ฑ
  • src/schema.ts: ํ…Œ์ด๋ธ”, enum, relation ์Šคํ‚ค๋งˆ
  • src/index.ts: ์™ธ๋ถ€ ๊ณต๊ฐœ ์ง„์ž…์ 
  • migrations/: ์ƒ์„ฑ๋œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‚ฐ์ถœ๋ฌผ

๋กœ์ปฌ ์‹คํ–‰

์ €์žฅ์†Œ ๋ฃจํŠธ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

pnpm db:up
pnpm db:migrate

์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น:

pnpm db:generate
pnpm db:test:up
pnpm db:test:prepare
pnpm db:test:down
pnpm db:studio
pnpm check:db

Drizzle Studio ๊ธฐ๋ณธ ์ฃผ์†Œ:

  • http://127.0.0.1:4983

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜ ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

DATABASE_URL=postgresql://harness_docs:harness_docs@127.0.0.1:5432/harness_docs
TEST_DATABASE_URL=postgresql://harness_docs:harness_docs@127.0.0.1:5433/harness_docs_test
PGHOST=127.0.0.1
PGPORT=5432
PGUSER=harness_docs
PGPASSWORD=harness_docs
PGDATABASE=harness_docs
  • TEST_DATABASE_URL๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. dev DB fallback์€ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • TEST_DATABASE_URL๋Š” DATABASE_URL์™€ ๊ฐ™์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • pnpm db:test:up์€ db-test ์ „์šฉ Postgres container๋ฅผ ๋„์›๋‹ˆ๋‹ค.
  • pnpm db:test:prepare๋Š” db-test์— ์—ฐ๊ฒฐํ•ด test DB๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์›์น™

  • ์Šคํ‚ค๋งˆ์™€ ์—ฐ๊ฒฐ ์„ค์ •์€ ์ด ํŒจํ‚ค์ง€๋กœ ๋ชจ์๋‹ˆ๋‹ค.
  • API ์ฝ”๋“œ์— DB ์„ธ๋ถ€ ๊ตฌํ˜„์ด ํฉ์–ด์ง€์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒ์„ฑ๋œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ƒ์„ฑ ๊ทœ์น™์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์ˆ˜๋™ ํŽธ์ง‘์„ ํ”ผํ•ฉ๋‹ˆ๋‹ค.
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๊ณผ ํƒ€์ž… ์ฒดํฌ๊ฐ€ ํ•ญ์ƒ ๊ฐ™์€ ์Šคํ‚ค๋งˆ ์†Œ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.