๐ ๋๋ supabase-markdown์ ๋ง๋ค์์ต๋๋ค โ ๋ชจ๋ ์คํค๋ง์ ๊ฑธ์ณ ์ ์ฒด Supabase ERD๋ฅผ ์์ฑํ๋ ๋๊ตฌ (Visualizer๊ฐ ํ ์ ์๊ธฐ ๋๋ฌธ์)
Source: Dev.to

์๊ฐ
์ฌ๋ฌ๋ถ ์๋ ํ์ธ์ ๐


Supabase Visualizer๋ฅผ ์ฌ์ฉํด ๋ณธ ์ ์ด ์๋ค๋ฉด, ์ ๋ง ํธ๋ฆฌํ์ง๋ง ํ ๊ฐ์ง ์ ํ์ด ์๋ค๋ ๊ฒ์ ์๊ฒ ๋ ๊ฒ๋๋ค:
ํ ๋ฒ์ ํ๋์ ์คํค๋ง๋ง ๋ณผ ์ ์์ต๋๋ค.
์์ ํ๋ก์ ํธ๋ผ๋ฉด ๊ด์ฐฎ์ง๋ง, ์ฑ์ด ์ฑ์ฅํ๋ฉด์ public, storage, auth, graphql_public ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์ ์ ์ ์คํค๋ง์ ๊ฐ์ด ์ฌ๋ฌ ์คํค๋ง๊ฐ ์๊ธฐ๋ฉด ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ํ๋์ ํ์
ํ๊ธฐ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. โ์ ์ฒด ๋ณด๊ธฐโ๊ฐ ์ ์คํ ํ์ํ๊ธฐ์ ์ง์ ๋ง๋ค์์ต๋๋ค.
๐ฅ supabase-markdown ์๊ฐ
GitHub:
npm์ผ๋ก ์ค์น:
pnpm add -D supabase-markdown
๐ง ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์?
Supabase Visualizer๋ ํ ๋ฒ์ ํ๋์ ์คํค๋ง๋ง ํ์ํ ์ ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ต์ต๋๋ค. supabase-markdown์ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ป์ ์ ์์ต๋๋ค:
- ํ๋์ ํ์ผ
- ํ๋์ ๋ค์ด์ด๊ทธ๋จ
- ๋ชจ๋ ํ ์ด๋ธ
- ๋ชจ๋ ์คํค๋ง์ ๊ฑธ์ณ
- ๋ชจ๋ ๊ด๊ณ๋ฅผ ํ ๋ฒ์ ํ์
์ด์ ์๋์ ๊ฐ์ ๋จ์ผ ํตํฉ ERD๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์์ ERD (Mermaid)
erDiagram
accounts ||--o{ posts : account_id
posts ||--o{ post_hashtags : post_id
hashtags ||--o{ post_hashtags : hashtag_id
profiles ||--|| accounts : id
storage.objects ||--o{ public_posts : image_id
ํ ๊ณณ์ ๋ชจ๋ ๋ชจ์ฌ ์์ต๋๋ค. ์คํค๋ง๋ฅผ ํด๋ฆญํด์ ์ด๋ํ ํ์๊ฐ ์์ต๋๋ค.
๐ ๏ธ ์๋ ์๋ฆฌ
Supabase๋ ์ด๋ฏธ ์ ์ฒด ์คํค๋ง ์ ๋ณด๋ฅผ ๋ค์ ๋ช ๋ น์ ํตํด ์ ๊ณตํฉ๋๋ค:
supabase gen types typescript
์์ฑ๋ TypeScript ํ์ผ์๋ ๋ค์ ์ ์๊ฐ ํฌํจ๋ฉ๋๋ค:
- ํ ์ด๋ธ
- ์ปฌ๋ผ
- ์ด๊ฑฐํ(enum)
- ๊ด๊ณ
- ์ธ๋ ํค
- ์คํค๋ง
supabase-markdown์ ํด๋น ํ์ผ์ ํ์ฑํ์ฌ ๋ค์์ ์ถ๋ ฅํฉ๋๋ค:
- ์ ์ฒด Markdown ๋ฌธ์
- ์คํค๋ง๋ฅผ ๋๋๋๋ ํตํฉ ERD
- ์คํค๋ง๋ณ๋ก ๊ทธ๋ฃนํ๋ ํ ์ด๋ธ ๋ชฉ๋ก
- ์์ ์ ์ ์ถ๋ ฅ (GitHub, Notion, ๋ฌธ์ ์ฌ์ดํธ์ ์ต์ )