WILT-191223

1 분 소요

오늘 한 일


  1. 협업 프로젝트: 댓글 기능 구현 시작
    • Comment 모델 구현
    • 처음으로 sequelize.define 을 사용하여 model을 만들었다. 기능을 구현하다 보니 Board, User 테이블과 연결이 필요해서 association 관련 검색하느라 시간을 좀 썼다.
    • ‘CASCADE’: foreignKey로 연결된 parant가 삭제되면 연결된 다른 테이블의 컬럼도 사라지는 기능. hasMany에서 CASCADE 설정은 가능한데 아무 생각없이 belongTo에 CASCADE 넣으니 바로 에러났다.
    • 현재 댓글 생성 테스트 중: 외래 키로 fk_board_id(게시물번호), fk_user_uid(유저 고유키)를 넣도록 되어 있는데 req.body로 받는 board_id 값은 들어오는데 { Error: (conn=161, no: 1364, SQLState: HY000) Field 'board_id' doesn't have a default value 에러 발생 - Comment 라우터 구현
    • 모든 댓글 보기 기능은 사실 게시물 확인하면서 동시에 보여줘야 되는데 일단 라우터 따로 구현하기로 마음 먹음.
    • 개별 댓글 조회, 수정, 삭제 시 댓글 객체 하나 리턴하는 것이 의미가 있을지 모르겠다. 해당 댓글이 포함된 게시물 id를 리턴하는게 나을 것 같다. 일단은 댓글 객체 리턴으로 구현 중. - npm vulnerability해결
    • npm i 실행할 때마다, github에서 매번 경고문 나오는게 성가셔서 한번 고쳐보려고 여러 패키지를 직접 update했는데 그중 bcrypt 모듈 설치가 안 되는 문제가 있었다. 해당 에러는 꼭 bcypt에서만 발생하는 문제는 아닌 것 같다.

      node-pre-gyp install --fallback-to-build
      stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

    • 정확히는 잘 모르겠지만 bcrypt모듈 설치을 위해 python(?)을 섪치해야 하는 것 같은데 내가 사용하던 vscode powershell을 관리자 권한으로 실행해서 설치해야 했다.
      npm install --global --production windows-build-tools
    • 그냥 직접 powershell을 관리자 모드로 열어서 파이썬 설치 후 vscode shell에서 bcrypt깔아주니 해결됨

댓글남기기