๋ฌธ์ ์ํฉ
- TypeORM ๊ณต์ ๋ฌธ์์์๋ ๋์์๋ฏ์ด, ์ํฐํฐ๋ฅผ ๋ง๋ค ๋ bigint๋ก ์ปฌ๋ผ ํ์ ์ ์ง์ ํ๋ฉด ์ํฐํฐ๋ก ๋ณํํ ๋๋ string์ผ๋ก ๋ณํ๋ฉ๋๋ค. (PostgreSQL ๊ธฐ์ค)
- ํ์ง๋ง ์ด ๊ฐ์ ์ฌ์ฉํ ๋๋ง๋ค ๋ณํํ๋ ๋ก์ง์ ๋ฃ๊ธฐ๋ ๊ท์ฐฎ์ผ๋, ์ํฐํฐ๋ก ๋ณํํ ์์ ์ ์ด๋ฏธ number ๋ผ๋ฉด ์ฌ์ฉํ๊ธฐ ํธํ ๊ฒ ๊ฐ์ต๋๋ค.
- Javascript์์ ํํํ ์ ์๋ "์์ ํ" ์ ์์ ๋ฒ์๋ -9,007,199,254,740,991 ~ 9,007,199,254,740,991 ์ ๋๋ค.
- ํ์ง๋ง PostgreSQL bigint์ ๋ฒ์๋ -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807๋ก ๋ ํฌ๊ธฐ ๋๋ฌธ์ string์ผ๋ก ๋ณํํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
- totalAmount ๊ฐ์ด Javascript์ "์์ ํ" ์ ์์ ๋ฒ์๋ฅผ ๋์ด๊ฐ์ง ์๋๋ค๋ ๊ฐ์ ํ์ ์๋์ ๊ฐ์ด ํด๊ฒฐํ์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
- TypeORM ๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด๋ฉด transformer๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
- from, to ๋ ๊ฐ์ ๋ฉ์๋๋ฅผ ๊ฐ์ง ๊ฐ์ฒด ํ์ ์ด๊ณ ์ํฐํฐ ํ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ ์ผ๋ก(๋๋ ๊ทธ ๋ฐ๋๋ก) ๋ง์ฌ๋ง ํ ์ ์์ต๋๋ค.
- Transformer ํด๋์ค๋ฅผ ์์ฑํ๊ณ to, from ๋ ๊ฐ์ ๋ฉ์๋๋ฅผ ์์ฑํฉ๋๋ค.
- to : ์ํฐํฐ ํ์ ์ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์ ๋ณํ ํ ๋ฐํํฉ๋๋ค.
- from : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์ ๋ณํ ํ ๋ฐํํฉ๋๋ค.
- ์ ๋ from์์ string ํ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ parseInt๋ฅผ ์ฌ์ฉํด number๋ก ๋ณํํ์ต๋๋ค.
์ฐธ๊ณ
https://stackoverflow.com/questions/59927625/how-to-store-big-int-in-nest-js-using-typeorm
https://www.postgresql.org/docs/current/datatype-numeric.html
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures
https://jojoldu.tistory.com/600
'๋ฐฑ์๋ > ORM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TypeORM] ์ ์ํฐํฐ ํด๋์ค ํ๋กํผํฐ๋ฅผ private์ผ๋ก ํ ์ ์์๊น? (0) | 2024.09.09 |
---|---|
[TypeORM] TypeORM์์ ํธ๋์ญ์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ (0) | 2024.08.05 |