(DAY 51) UP!!!!!!! ๐ญ๐ฐ๐
Sequelize ์ค์น
$ npm install --save sequelize
Sequelize-cli ์ค์น
$ npm install --save-dev sequelize-cli
Bootstraping(ํ๋ก์ ํธ ์ด๊ธฐ ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ์ค์ ํ ์ ์๋๋ก ๋์์ฃผ๋ ์ผ)
$ npx sequelize-cli init
--force
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.์ค์ ํ์ผ์ ์ด์ฉํด MySQL ์ ์ ์ค์ (Configuration ์ค์ )
./config/config.json
ํ์ผ์์ password
์ database
๊ฐ์ ์ค์ ํด์ค๋ค../models/index.js
์ env
๋ถ๋ถ์ ๋ฐ๊พธ์ด์ฃผ๋ฉด ๋๋ค.CLI๋ฅผ ํตํด model ์์ฑ
$ npx sequelize model:create --name user --attributes "name:string"
// ๊ธฐ๋ณธ ๋ฌธ๋ฒ
$ npx sequelize model:create --name TABLE_NAME --attributes "COLUMN1:type, COLUMN2:type, COLUMN3:type"
attributes
์ ๋ด์ฉ์ ๊ผญ ๊ฒน๋ฐ์ดํ(")๋ก ๊ฐ์ธ์ฃผ์ด์ผ ํ๋ค.NULL
๋ก ์ถ์ ํ๋ค. ์ด๋ model ํ์ผ์ Model.init
ํจ์ ๋ด๋ถ์์ defaultValue
์ต์
์ ํตํด ์ค์ ํ ์ ์๋ค.sequelize.define
์ Model.init
์ ๋ถ๋ฅด๊ธฐ ๋๋ฌธ์ ์ด ๋ ๊ฐ์ง๋ ์์ ํ๊ฒ ๊ฐ์ ๊ฐ๋
์ด๋ค.์์ฑํ model์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ๋ก table์ ์์ฑํด์ฃผ๋ ๊ณผ์ ์ด๋ค. (๋ง์ด๊ทธ๋ ์ด์ ์ ๊น์ง๋ ์ค์ ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฌด๊ฒ๋ ์ถ๊ฐ๋์ง ์์ ์ํ๋ค.) ์คํค๋ง ๋ณ๊ฒฝ์ด ์์ ๋๋ง๋ค ๋ง์ด๊ทธ๋ ์ด์ ์ ์คํํด์ค์ผ ํ๋ค.
$ npx sequelize-cli db:migrate
์๋ ๋ช ๋ น์ด๋ก ๊ฐ์ฅ ์ต๊ทผ์ ๋ง์ด๊ทธ๋ ์ด์ ์์ ์ ์ทจ์ํ ์ ์๋ค.
$ npx sequelize-cli db:migrate:undo
CRA๋ก ๋ฆฌ์กํธ ์ฑ์ ์์ฑํ ๋ค ๋๋ ํ ๋ฆฌ๋ฅผ ๋ณด๋ฉด CRA๊ฐ ์ค์ ํ์ผ์ ์จ๊ฒผ๊ธฐ ๋๋ฌธ์ ์ค์ ํ์ผ์ ์ฐพ์ ์๊ฐ ์๋ค. ์ด๋ ํฐ๋ฏธ๋ ์ฐฝ์์ ๋ช
๋ น์ด๋ก ์จ๊ฒจ๋์ ์ค์ ํ์ผ์ ๊บผ๋ผ ์ ์๋ค. package.json
์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ํ๋ ๋ถ๋ถ์ ๋ณด๋ฉด โejectโ: โreact-scripts ejectโ
๋ผ๋ ๋ด์ฉ์ด ์๋ค. ์ด ๋ช
๋ น์ด๊ฐ ์ค์ ํ์ผ์ ์ถ์ถํ๋ ๋ช
๋ น์ด๋ค.
$ yarn eject
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ์จ๊ฒจ์ ธ์๋ ํ์ผ์ ๊บผ๋ด๋ฉด config ์ scripts ํด๋๊ฐ ์๊ธฐ๊ณ package.json ํ์ผ์ ๋ชจ๋ dependency ์ babel, jest ์ค์ ์ฝ๋๊ฐ ๋๋ฌ๋๋ค.