TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server,
typeorm.io
TypeORM์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ TypeORM์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง๋ฅผ ๋ฒ์ ๊ด๋ฆฌํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ ํ๊ฒ ๋ณ๊ฒฝํ ์ ์๋๋ก ๋์์ค๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๋ ํํ๋ก ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฒ์ ๋ณ๋ก ์ถ์ ํ ์ ์์ต๋๋ค.
TypeORM ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฃผ์ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ ์์ฑ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋, TypeORM CLI(Command Line Interface)๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ์ ์์ฑํฉ๋๋ค. ์ด ํ์ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ์ ์ํ SQL ๋ช ๋ น์ด๋ฅผ ํฌํจํ๊ฑฐ๋, TypeORM์ด ์ ๊ณตํ๋ API๋ฅผ ํตํด ์คํค๋ง ๋ณ๊ฒฝ์ ์งํํฉ๋๋ค.
- ๋ง์ด๊ทธ๋ ์ด์ ์คํ: ์์ฑ๋ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. TypeORM CLI๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ด๊ทธ๋ ์ด์ ์ ์คํํ ์ ์์ผ๋ฉฐ, ์ด ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ก์ด ์คํค๋ง๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
- ๋ง์ด๊ทธ๋ ์ด์ ๋กค๋ฐฑ: ํ์ํ ๊ฒฝ์ฐ ์ด์ ์ํ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ๋ณต์ํ ์ ์์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ์ ๋ณดํต ์ ๊ทธ๋ ์ด๋์ ๋ค์ด๊ทธ๋ ์ด๋ ๋ก์ง์ ๋ชจ๋ ํฌํจํ๊ณ ์์ด, ํน์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ์ ์ฌ์ฉํ๋ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฒ์ ๊ด๋ฆฌ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๋๋ก ๊ด๋ฆฌํ์ฌ, ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ์์ ํ๋ ํ๊ฒฝ์์๋ ์คํค๋ง ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๊ฒ ๊ณต์ ํ๊ณ ์ ์ฉํ ์ ์์ต๋๋ค.
- ์ด๋ ฅ ์ถ์ : ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ์ธ์ ์ ์ฉ๋์๋์ง ๊ธฐ๋ก์ ํตํด ํ์ ํ ์ ์์ต๋๋ค.
- ์์ ์ฑ: ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ์ฌ์ ์ ์ฒดํฌํ์ฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
TypeORM์ ํตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ Node.js ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ๋ณด๋ค ์ฒด๊ณ์ ์ผ๋ก ํ ์ ์๊ฒ ๋์์ฃผ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ๋ ์์ ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด์ค๋๋ค.