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 ๊ณต์๋ฌธ์
๋ฐ์ํ