codestates / codestates/BookDam

22.01.04 Error Handling

Open
#59 0 comments 0 reactions 1 assignee Claimed by @sangkwonkim View on GitHub
Complete sangkwonkim Server
Dominant language
JavaScript
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### 어떤 에러인가요?
1. sequelize init 이후 models의 index.js와 config/config.json 이 생성되는 데 이때 config.json 을 config.js로 파일을 변경하곤 index.js에서는 변경사항을 반영하지 않아 발생한 에러입니다.

2. 테이블간 연관관계를 설정했을 때, migrate는 정상적으로 작동했지만, npm start에서 발생한 에러입니다.

3. 배포 당시에 설정한 80번 포트로 인해 발생한 에러입니다.

### 에러 메시지
1. 에러메시지
![](https://blog.kakaocdn.net/dn/RKDyE/btrpOwUb05g/HCxkvyS94Q3jhlzVBRhot0/img.png)

2. 에러메세지
![](https://blog.kakaocdn.net/dn/CePJk/btrpLuJkfOK/fFNIaQahgO8WUceqgIf78k/img.png)

3. 에러메시지
![](https://blog.kakaocdn.net/dn/RRCbP/btrpMQFpXWl/K5Lp9qbrykUNYWEMUIZXt1/img.png)
### 에러 핸들링 방법
1.
![](https://blog.kakaocdn.net/dn/bGDwIQ/btrpMP0KhkU/WxMFj7qCvKMXOB3PhRFQ4K/img.png)
```js
const config = require(__dirname + '/../config/config.js')[env];
```
위 사진의 config.json을 코드와 같이 변경했습니다.

2.
![](https://blog.kakaocdn.net/dn/BFC5l/btrpJQMRJI3/yRZW4xiVNFUg0xal0QPSF1/img.png)
=> foreignkey와 targetkey이 바뀌면서 해당 테이블에 그 column이 없어 에러가 발생했습니다.
targetkey, foriegnkey 변경해주니 에러를 해결할 수 있었습니다.
![](https://blog.kakaocdn.net/dn/3dboN/btrpPEqS3aF/anTxnwcNjhf3KYK4S3DLlk/img.png)
의문인 점은 기존에 migrate 후 'show indexes in 테이블명' 결과와 targetkey, foriegnkey 변경 이후에 'show indexes in 테이블명' 결과가
동일하게 출력이 된다는 점입니다. 추후에 include를 구현하면서 더 학습해볼 예정입니다.

3.
'리눅스에서 1024이하의 well known port를 사용하려면 root 권한이 필요하며, 별도로 1024 이상의 포트를 쓸경우에는 root권한 없이도 사용 가능'
app.js 와 scripts/initialize.sh 에서 포트 번호를 4000번으로 변경했습니다.
포트 번호 변경에 따라 서버 배포 자동화도 정상적으로 작동하는 지 확인할 예정입니다.

이전 node, npm 버전에서 sudo npm start으로 해결한 글도 볼 수 있었고, iptable을 이용해서 우회하여 사용하는 방법도 확인할 수 있었습니다.
sudo의 경우 npm 명령을 찾을 수 없었고, 우회까지 해야할까라는 의문이 들어 포트 자체를 변경했습니다.

### 에러 핸들링을 위해 참고한 레퍼런스 링크
[3번 에러](https://velog.io/@juunghunz/permission-denied-0.0.0.080-%EC%97%90%EB%9F%AC-%EB%B0%9C%EC%83%9D%EC%8B%9C-%ED%95%B4%EA%B2%B0%EB%B2%95)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.