Daily/Today I Learned

210303_TIL (Sequelize, Sequelize-cli)

joooing 2021. 3. 3. 04:31
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ํ•œ ์ผ


โœ”๏ธ Sequelize, Sequelize-cli
๊ธด Url์„ ์งง๊ฒŒ ๋งŒ๋“ค์–ด ๋Œ๋ ค์ฃผ๋Š” ์•ฑ์˜ ์„œ๋ฒ„๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•ด๋ดค๋‹ค. urls๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ๋ฐฉ๋ฌธ ํšŸ์ˆ˜์™€ url ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋„ฃ์–ด๋‘๊ณ , ๋‚˜์ค‘์—๋Š” userํ…Œ์ด๋ธ”๊ณผ foreign key๋ฅผ ์ด์šฉํ•ด ์—ฐ๊ฒฐ๋„ ์‹œ์ผœ๋ดค๋‹ค. ๋ชจ๋ธ์„ ์ •์˜ํ•˜๋Š” Sequelize์™€ ํ•จ๊ป˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋„์™€์ฃผ๋Š” ํˆด์ธ sequelize-cli๋„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ†ตํ•ด ๋ชจ๋ธ๋กœ๋งŒ ์ƒ์„ฑํ–ˆ๋˜ ๊ฒƒ๋“ค์ด ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ค์–ด๊ฐ€๋Š” ๊ณผ์ •์„ ๋ณด๋ฉด์„œ ํ•˜๋‹ˆ๊นŒ ๋ญ”๊ฐ€ ์žฌ๋ฐŒ๊ธฐ๋„ ํ–ˆ๋‹ค. ORM์„ ์ด์šฉํ•˜๋‹ˆ๊นŒ mySQL๋งŒ ์“ธ ๋•Œ์™€๋Š” ๋‹ฌ๋ฆฌ ์ฟผ๋ฆฌ๋ฌธ ์—†์ด ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์„œ ์ข€๋” ์ต์ˆ™ํ•˜๊ณ  ์ข‹์€ ๊ฒƒ ๊ฐ™๊ธฐ๋„ํ•œ๋ฐ ์•„์ง์€ ๋” ๋Šฅ์ˆ™ํ•ด์ง€๋ ค๋ฉด ์ ์‘์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์ž๋ฃŒ๋„ ์—†์–ด์„œ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ •๋…ํ•ด๋ณด๋ คํ–ˆ๋Š”๋ฐ ์–‘์ด ๋งŽ์•„์„œ ์กฐ๊ธˆ์”ฉ ๋‚˜๋ˆ ๋ด์•ผ๊ฒ ๋‹ค., 

โœ”๏ธ Toy - inequalityNumber
๋ถ€๋“ฑํ˜ธ ๊ธฐํ˜ธ๋“ค๋กœ ์ด๋ค„์ง„ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„์„œ, ๋ถ€๋“ฑํ˜ธ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ตœ๋Œ€ ๋ถ€๋“ฑํ˜ธ ์ˆ˜, ์ตœ์†Œ ๋ถ€๋“ฑํ˜ธ ์ˆ˜์˜ ์ฐจ์ด๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๋ณด๋‹ˆ๊นŒ ๋ถ€๋“ฑํ˜ธ์ˆ˜๋“ค์—์„œ ๊ทœ์น™์„ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์„œ ์žฌ๊ท€๋ฅผ ํ†ตํ•ด ๊ณ„์†ํ•ด์„œ ์ˆซ์ž๋“ค์„ ๋น„๊ตํ•˜๊ณ , ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋Š” ์‹์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค. ๋ฒ„๋ธ”์ •๋ ฌ์„ ์•ฝ๊ฐ„ ์‘์šฉํ•˜๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋Š๋‚Œ์„ ๋ฐ›์•˜๋‹ค.

 

๐ŸŽ๊ธฐ์–ตํ•  ๊ฒƒ


โœ”๏ธ squelize - increment๋ฉ”์„œ๋“œ
๋ชจ๋ธ๋ช….increment({point: 50}, { where: { id: 1 } })  ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค!
์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๋ฉด UPDATE `Users` SET `point`=`point`+ 50 WHERE `id` = 1 ์ด๋Ÿฐ๋Š๋‚Œ

 

๐ŸŽ ๋” ๊ณต๋ถ€ํ•  ๊ฒƒ


โœ”๏ธ sequelize ๊ณต์‹๋ฌธ์„œ 
๋ฐ˜์‘ํ˜•