๐ฏ ์๊ตฌ์ฌํญ
Fastify + Swagger (OPEN API 3.0.3) ๋ฅผ ์ด๋ค๋ฉด JSON Schema ๋ฅผ ์ ์ํ๋ ์ผ์ด ์ต์ํ ๊ฒ์ด๋ค.
ํ๋, ํ๋ก์ ํธ ์ด๋ฐ์ผ์๋ก DB ์คํค๋ง๋ ๋ฌผ๋ก API ๊ฐ ๋ณ๊ฒฝ๋๋ ์ผ์ด ์ฆ์ JSON Schema ๋ณ๊ฒฝ๋ ์ฆ์์ง๋ค.
๊ฐ๋ฐ๊ณผ ๋ฌธ์ํ ๋ชจ๋๋ฅผ ๋งก์ ๊ฐ๋ฐ์ ์ ์ฅ์์ ์ฌ๊ฐ ๊ท์ฐฎ์ ์ผ์ด ์๋ ์ ์๋ค.
ORM์์ด
DB ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ์ฐ๊ฒฐ๋ DB๋ก๋ถํฐ
์๋์ผ๋ก JSON Schema ๋ฅผ ๋ฐ์์ฌ ์ ์์๊น?
๊ตฌ์ ํฌ์
์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด DB ์ ๋ณด๋ง ์ ๋ ฅํ๋ฉด JSON Schema ๋ฐ์์ฌ ์ ์๋ค.
CLI, Node.js ๋ชจ๋ ์ง์ํ๋ค.
์ฌ๊ธฐ์ 'description'์ด ์๊ทผ ์์ฃผ์ฐ์ด๋๋ฐ,
์์ DB ํ ์ด๋ธ์ `comment` ๋ฅผ ๋ฌ์๋๋ฉด JSON Schema ๋ก ๋ฐ์์ฌ ๋๋ description ์ด ํฌํจ๋๋ค.
JSON Schema ์ถ์ถ ๊ฒฐ๊ณผ
๐ ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ์ ์ฝ๋ฉํธ ๋ฌ๊ธฐ
๊ฐ๋ฐ์ ํ๋ฉด ํ ์๋ก ์ค์ ์ฝ๋์ ์ ํ - ๋ฌธ์๊ฐ ๋๋ฌด ๋ง์ด ๋ถ๋ฆฌ๋์ด ์์ผ๋ฉด ๋๊ธฐํ ํ๋๋ฐ ๊ต์ฅํ ๋ ธ๋ ฅ์ด ์์๋๋ค๋ ๊ฒ์ ๋๋๋ค. ํ๋ค๋ชปํด ์ปฌ๋ผ์ด๋ฆ ํ๋๋ง ๋ฐ๊ฟ๋ ์ฑ๋จ์์ ์ ์ฒด ์ฝ๋๋ฅผ ์์ ํด์ผํ๋ค.
์ด๋ด ๋ฐ์๋ PostgreSQL DB์ ์ ์๋ ์คํค๋ง ์ ๋ณด๋ฅผ JSON Schema ๋ก ์น ์ฑ๋จ์ผ๋ก ๋์ด์ฌ ์ ์๋ ํด์ด ์์ง ์์๊น?
ํ๊ณ ์ฐพ์ ํด์ด pg-tables-to-jsonschema ์ด๋ค.
๐๐ป ์ฌ์ฉ๋ฒ
๐ Reference
'DataBase > PostgreSQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PostgreSQL] Transaction + Pool ์ฌ์ฉ์ ์ฃผ์ (0) | 2022.04.04 |
---|---|
[PostgreSQL] Function (feat. trigger) (0) | 2022.03.29 |
[PostgreSQL] Notify (0) | 2022.03.25 |
[PostgreSQL] Transaction ์, ์ธ์ , ์ด๋ป๊ฒ ๋์ํ๋? (0) | 2022.03.25 |
[PostgreSQL] Sequence ํจ์ ๋ฐ ๊ฐ ๋ณ๊ฒฝ (๋ฒ์ญ) (0) | 2022.03.25 |