codestates / codestates/BookDam
22.01.04 Error Handling
- 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. 에러메시지

2. 에러메세지

3. 에러메시지

### 에러 핸들링 방법
1.

```js
const config = require(__dirname + '/../config/config.js')[env];
```
위 사진의 config.json을 코드와 같이 변경했습니다.
2.

=> foreignkey와 targetkey이 바뀌면서 해당 테이블에 그 column이 없어 에러가 발생했습니다.
targetkey, foriegnkey 변경해주니 에러를 해결할 수 있었습니다.

의문인 점은 기존에 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.