MySQL ๐Ÿ“˜ โ–ป sequelize 3ํƒ„

October 25, 2019

logo

ORM(Object-Relational-Mapping) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ’Ž ๋ชฉ์ฐจ

๐ŸŒฑ ์„œ๋ก 

์•ˆ๋…•ํ•˜์„ธ์š” ~

๋“œ๋””์–ด ! ๋งˆ์ง€๋ง‰ ํฌ์ŠคํŒ…์œผ๋กœ ์ฐพ์•„๋ต™์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ฑ

๋งŽ์ด ์•„์‰ฌ์›Œํ•˜์‹œ๋Š” ๋ถ„๋“ค๋„ ๊ณ„์‹ ํ…๋ฐ์š” (์ œ๋ฐœโ€ฆ)

์•„์‰ฌ์›€์„ ๋’ค๋กœํ•˜๊ณ  ํž˜์ฐจ๊ฒŒ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘์— ์•ž์„œ ๊ทธ๋™์•ˆ ํ–ˆ๋˜ ๋‚ด์šฉ์„ ๋ณต์Šตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. Docker๋ฅผ ํ†ตํ•œ MySQL ์„ค์น˜
  2. sequelize๋ฅผ ์ด์šฉํ•œ MySQL ์—ฐ๋™
  3. ๋ชจ๋ธ ์ •์˜
  4. REST API ๋งŒ๋“ค๊ธฐ

1๋ฒˆ MySQL ์„ค์น˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์‹œํ€„๋ผ์ด์ฆˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์ด์˜€์Šต๋‹ˆ๋‹ค.

ํ˜น์‹œ๋‚˜ ํ—ท๊ฐˆ๋ฆฌ์‹ ๋‹ค๋ฉด 1ํƒ„, 2ํƒ„์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ž ๊ทธ๋Ÿผ ๋งˆ์ง€๋ง‰ ์‹œ๊ฐ„์—๋Š” ํ™”๋ฉด ๊ตฌ์„ฑํ•˜๊ธฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


โฌ† ๋ชฉ์ฐจ


๐ŸŒน ๋ณธ๋ก 

ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

$ npm install ejs

๊ทธํ›„ view engine์œผ๋กœ ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค.

1

route.use() ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์šฐํŠธ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


routes - index.js

2

findAll() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

user ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ index ํŽ˜์ด์ง€๋กœ renderํ•ฉ๋‹ˆ๋‹ค.


views - index.ejs

3

  • ์‚ฌ์šฉ์ž ๋“ฑ๋ก ํผ, ์กฐํšŒ ํ…Œ์ด๋ธ”
  • ๋Œ“๊ธ€ ๋“ฑ๋ก ํผ, ์กฐํšŒ ํ…Œ์ด๋ธ”

์ด๋ ‡๊ฒŒ ๊ฐ๊ฐ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.


public - javascript - sequelize.js

4

  • ์‚ฌ์šฉ์ž ๋“ฑ๋ก

5

  • ์‚ฌ์šฉ์ž ๋กœ๋”ฉ

6

  • ๋Œ“๊ธ€ ๋“ฑ๋ก

7

  • ์‚ฌ์šฉ์ž ํด๋ฆญ ์‹œ ๋Œ“๊ธ€ ๋กœ๋”ฉ

8

  • ๋Œ“๊ธ€ ๋กœ๋”ฉ

9

  • ๋Œ“๊ธ€ ์ˆ˜์ •

10

  • ๋Œ“๊ธ€ ์‚ญ์ œ


์™„์„ฑ๋œ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.

โฌ† ๋ชฉ์ฐจ


๐Ÿฅ€ ๊ฒฐ๋ก 

์ด๊ฒƒ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ MySQL ์‚ฌ์šฉํ•˜์—ฌ ์œ ์ € + ๋Œ“๊ธ€์„ ๊ด€๋ฆฌํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์•ž์„œ ๋ฐฐ์šด CRUD๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์™„์„ฑ๋œ ์†Œ์Šค๋Š” ์•„๋ž˜ ์ถœ์ฒ˜๋ฅผ ํ™•์ธํ•˜์‹œ๋ฉด ์ž์„ธํžˆ ๋‚˜์™€์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‹ค์Œ์—๋Š” ๋”์šฑ ์ข‹์€ ์ž๋ฃŒ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


โฌ† ๋ชฉ์ฐจ



์ถœ์ฒ˜

GitHub > sequelize

์—ฌ๋Ÿฌ๋ถ„์˜ ๋Œ“๊ธ€์ด ํฐํž˜์ด ๋ฉ๋‹ˆ๋‹ค. (เน‘โ€ขฬ€ใ…‚โ€ขฬ)ูˆโœง


Written by@[AGUMON]
์•„๊ตฌ๋ชฌ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

GitHubFacebook