codestates / codestates/UDONDAM
[๐งError_log] ์ด์ ์ / 2021-12-01~2
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
> ํด๊ฒฐ๋ ์๋ฌ๋ผ๋ฉด ๋ผ๋ฒจ์ 'Complete' ๋ฅผ ๋ฌ์์ฃผ์ธ์.
> ๋ฏธํด๊ฒฐ๋ ์๋ฌ๋ผ๋ฉด ๋ผ๋ฒจ์ 'In progress' ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
### ์ด๋ค ์๋ฌ์ธ๊ฐ์?
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ์ ๊ตฌ์ฑํ๊ธฐ ์ํด ๋ง์ด๊ทธ๋ ์ด์
์ ํ ๋ ์๋ฌ๊ฐ ๋ธ. ํ
์ด๋ธ์ด ์์ฑ๋๋ค๊ฐ ์ค๋จ๋จ.
2. ๋๋ฏธ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ seeders๋ ์์ ๋น์ทํ ์๋ฌ๊ฐ ๋์ด
3. npm startํ ๋ ์๋ฌ๊ฐ ๋จ๋ฉฐ ์คํ์ด ์ ๋จ. = crashed
### ์๋ฌ ๋ฉ์์ง
1~2.
```bash
npx sequelize db:migrate
Sequelize CLI [Node: 16.13.0, CLI: 6.3.0, ORM: 6.12.0-alpha.1]
Loaded configuration file "config/config.js".
Using environment "development".
== 20211130050146-create-comment: migrating =======
== 20211130050146-create-comment: migrated (1.135s)
== 20211130050220-create-like: migrating =======
== 20211130050220-create-like: migrated (0.942s)
== 20211130050308-create-user: migrating =======
== 20211130050308-create-user: migrated (1.331s)
== 20211130141634-create-post: migrating =======
node:internal/process/promises:246
triggerUncaughtException(err, true /* fromPromise */);
^
```
3.
```bash
โ server (Dev) โ npm start
> server@1.0.0 start
> nodemon index.js
[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module './models/index.js'
Require stack:
- /Users/l_siri/Downloads/codestates SEB 33/Final Project/UDONDAM/server/controllers/user.js
- /Users/l_siri/Downloads/codestates SEB 33/Final Project/UDONDAM/server/roters/user.js
- /Users/l_siri/Downloads/codestates SEB 33/Final Project/UDONDAM/server/index.js
```
### ์๋ฌ ํธ๋ค๋ง ๋ฐฉ๋ฒ
1. ๋ง์ด๊ทธ๋ ์ด์
์ ํ์ผ๋ค์ ์์์ create column์ ์ ๋ด์ผ ํ๋ค. ์ธ๋ถํค๋ ์์กฐ๊ฐ ๋๋ ํ
์ด๋ธ์์ ์ง์ .then์ผ๋ก ๋ง๋ค์ด์ค์ผ ํ๋๋ฐ, ๊ทธ ์์๋ฅผ ๋ฐ์ ธ์ผ ํ๋ค.
- ์์๋ก userํ
์ด๋ธ๊ณผ postํ
์ด๋ธ์ด 1:n ๊ด๊ณ๋ผ๊ณ ํด๋ณด์. ๋ํ user์ id๋ก post์ userId๊ฐ ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค. ๊ทธ๋ฌ๋ฉด post migrationsํ์ผ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก userId๋ฅผ ์์ฑํ๋ฉด ์ ๋๋ค. ๋์ .then๋ฌธ์ผ๋ก post์ userId๋ฅผ user.id ๋ ํผ๋ฐ์ค๋ก ์ถ๊ฐํด์ผ ํ๋ค.
- ๋ํ ํ์ผ ์์์ ๊ฒฝ์ฐ, ๋ค๋๋ค ๊ด๊ณ๋ก ์ธํด ์ ๊ฒฝ ์จ์ผ ํ๋ค. ์์๋ก post ํ
์ด๋ธ์ด tag ํ
์ด๋ธ๋ก ์ฐ๋๋๊ธฐ ์ํด post_tag ํ
์ด๋ธ์ ๊ฑฐ์ณ๊ฐ์ผ ํ๋ค๊ณ ์๊ฐํด ๋ณด์. ๋ํ post:post_tag, post_tag:tag ๊ฐ 1:n, n:1์ด์ด์ post์ tag๊ฐ ๋ค๋๋ค ๊ด๊ณ์ด๋ค. ์ด๋ฌ๋ฉด post๋ post_tag์ postId๋ฅผ .then์ผ๋ก ๋ ๋ ค์ค์ผ ํ๊ณ , tag๋ post_tag์ .then์ผ๋ก tagId๋ฅผ ๋ ๋ ค์ค์ผ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด post_tag ํ
์ด๋ธ์ด ๋จผ์ ์์ฑ๋์ด์ผ ํ๊ณ , ๊ทธ๋ค์ post, tag ํ
์ด๋ธ์ ์์ฑํด์ post_tag์ ์ปฌ๋ผ์ ์ถ๊ฐ์์ผ์ค์ผ ํ๋ค.
>
2. seed๋ table์ ๊ด๊ณ๋ฅผ ์๊ฐํ๋ฉฐ ์ง์ผ ํ๋ค. user๋ฅผ ๋จผ์ ์ง๊ณ , ๊ทธ๋ค์ post๋ฅผ ์ง์ผ๋ง userId๊ฐ ์ฐ๊ฒฐ๋ ๊ณณ์ ๋ฐ๋ก ์ก๊ฒ ๋๋ค. ๋ง์ฝ post๋ฅผ ๋จผ์ ์ง๊ฒ ๋๋ค๋ฉด userId ๋๋ฏธ๋ฐ์ดํฐ๊ฐ ์ธ๋ํค์์๋ ์ฐ๊ฒฐ๋ userํ
์ด๋ธ์ ์ปฌ๋ผ์ด ์์ด์ ์๋ฌ๊ฐ ๋๊ฒ ๋ ๊ฒ์ด๋ค.
>
>
3. index.js๊ฐ ๋ฌธ์ ๋ผ๊ณค ํ๋, ์ด๊ฑด ๊ทธ๋ค์๋ ์ ๋ด์ผ ํ๋ค. module์ ๋ชป ์ฐพ๋๋จ๋ค. ๊ทธ๋ค์ controllers/user.js๋ฅผ ์ธ๊ธํ๋ค.
๊ทธ๋์ user.js ํ์ผ์ ๋ณด๋ฉด ์ฒซ ๋ฒ์งธ ์ค์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๊ฐ ๋ฌธ์ ๊ฐ ๋จ์ ์ ์ ์๋ค.
```js
const {user} = require("./models/index.js");
```
์ฆ ๊ฐ์ ธ์ค์ง ๋ชปํ๋ ๊ฒ์ด๋ค. ์ ์ค์ ์ฃผ์ ํน์ ์์ ์์ ๋ฒ๋ฆฌ๋ฉด ๋ฌธ์ ์์ด npm start๊ฐ ์๋๋๋ค.
์ด๋ ๊ฐ์ ๋ฐฑ์๋ ํ์๋ถ์ด ๊น๋นกํ ์ฝ๋๋ก, ์ค์ ๋ก ์ ๋ฃ์ผ์
จ๋์ง๋ ์ถ๊ฐ๋ก ํ์ธํด๋ด์ผ ํ๋ค. ๋ค๋ง ๋น์ทํ ์ค๋ฅ ๋ฌธ๊ตฌ๊ฐ ๋จ๋ฉด ๋์ฒํ ์ ์์ ๊ฒ ๊ฐ๋ค.
### ์๋ฌ ํธ๋ค๋ง์ ์ํด ์ฐธ๊ณ ํ ๋ ํผ๋ฐ์ค ๋งํฌ
[๋งํฌ](https://victorydntmd.tistory.com/27)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.