210730 TIL

이은택·2021년 7월 30일
0

TIL

목록 보기
43/141

Feeling

- 거북이...달린다
- 어렵게 생각하니 해결과정에서 쓸데없이 시간이 더 오래 걸리는 것 같다. 나도 할 수 있다는 마음가짐!!

절차지향적 사고 로깅

- mysql 사용법 익히는중
    - cart, goods 데이터 관련 에러 문제 찾기

        > ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NUMBER, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KE' at line 1

    - 해결!
        - 스키마를 생성할때 DataType을 NUMBER로 설정을 해두었는데 MySQL요놈은 INTEGER로 해야되나보다 소수같은거는 저장되는지 안되는지 모르겠지만 일단 확실히 NUMBER는 싫어하나보다.
    - 상품목록이 여전히 뜨지 않는다!!!
        - 임시로 api만들어서 데이터 하나를 집어 넣어본다.
        - 잘나온다.
    - 상세상품페이지에서 다른 데이터 사진이 나온다?
        - ? goodsId와 연관이 있는듯 보이는데 저장한 상품의 데이터를 찾아서 콘솔로 찍어보자!
            - :goodsId는 매칭이 되는데 콘솔에 에러 표시가 나온다!

                > TypeError: Goods.findBy**Kd** is not a function

                - findByPk인데 findByKd라고 오타를 쳐서 goodsId는 데이터에서 불러오지 못하고 프론트에서 default로 설정된 값이 계속 넘어 온듯 하다...😒
    - 디버깅과정에서 구글링과 console.log를 사용해 에러를 해결하다보니막막하기만 했던 디버깅과정에 자신감이 생겼다!😎
    - 잘돌아간다!
- CRUD 과제 mongoose에서 mysql로 변경하기!
    - 구현전 구상 시도
        1. 일단 기존에 있던 것들이 잘뜨는지 서버에 띄워서 확인을 해본다
        2. mysql을 사용하기 위해서 필요한 오픈소스를 가져오는 명령어를 친다.
        3. mysql을 사용하기 쉽게 만들어 주는 오픈소스를 가져오는 명령어를 친다.
        4. docker를 사용해서  MYSQL을 띄우는 명령어를 친다.
        5. config에 사용할 데이터베이스를 정해서 비밀번호칸에 null에서 실제 비밀번호로 바꿔준다.
        6. TEMPORARY.js를 스키마폴더에 만들어서 각 스키마의 내용을 옮기고 MYSQL을 사용해서 스키마를 생성하는 파일을 만들어 준다. (명령어 뒤에 -force를 붙여주면 파일을 overwite하기때문에 굳이 몽고베이스 스키마파일을 지워줄 필요는 없다)
        7. 만들려는 테이블의 데이터 타입을 고려해서 스키마를 만들어 주는 명령어를 친다.
        8. npx sequelize db:create을 쳐준다.
        9. npx sequelize db:migrate을 쳐준다.
        10. id사용 유무에 따라서 스키마와 migration에 있는 해당 파일의 아이디 값을 조정해준다.
        11. 이제 세팅이 완료 되었으니 몽구스와 관련된 임포트한 파일을 수정 및 삭제해준다. 특히 스키마를 참조해서 썼으니 app.js에서 스키마와 관련된 몽구스 함수를 잘 변경해주자!
    - 구현 시도
        - 우다탕 구현 완료
    - allowNull: false로 스키마를 설정을 해도 입력하지 않은 데이터가 저장이 된다?. 명령어가 잘못 된것일까? 어디가 잘못 된것일까?
- In- depth
    - 입력값 비었을때  해결하려고 mysql하고 워크스페이스 깔았던건데 생각해보니 어차피 docker를 써야되네? 아니면 아에 설계하는 법을 따로 배우던가.. 시간상 docker쓰는 것도 시간낭비 아니니 일단 docker로 구현 ㄱㄱ
    - 

금일목표

- [x]  mongodb에서 mysql 데이터베이스로 변경시 goods, cart 데이터 에러 해결하기 user는 잘 작동함
- [x]  CRUD 과제 mongoose에서 mysql로 변경하기!
- [ ]  In-depth 과제 mysql로 구현하기

TimeTracking

- 3:00
    - 잘준비
- 4:00
    - 숙면  - ??
    - 나갈준비
    - 학습실이동
- 10:00
- 10:10
    - 조식
- 10:31
    - 로깅
    - BR
    - 안검경련
    - 다크모드
- 11:00
    - 회의
- 11:05
    - 주변정리
- 11:15
    - init 에러 찾는중
    - 졸림
- 11:30
    - 잘준비 - 3분
    - 낮잠 - .11:56
    - 12:30
        - rest
    - 1:20
        - cmplt cart, goods 데이터 관련 에러 찾음!😎
    - 1:38
        - cmplt 상품목록이 뜨지 않는 에러 해결!!!
        - cmplt 상세상품페이지에서 다른 데이터 사진이 나오는 에러 해결!!!
- 2:22
    - BR
- 2:35
    - 점심
- 2:50
    - 새로운 목표 생성
- 2:58
    - init CRUD 과제 mongoose에서 mysql로 변경!
    - 졸림
    - 글작성 까지는 되는데 ejs에서 문제가 생긴다
- 4:43
    - 저녁
- 5:03
    - 졸림
- 5:28
    - 낮잠
- 6:24
    - 문자 확인
- 6:28
    - 해결완료
- 6:46
    - 빈 입력값일때 저장 안되게 하는법 해결중
    - docker말고 mysql하고 workbench 일단 다운받아서 해결하기로함
- 7:55
    - mysql 하고 workbench다운받고 사용법 찾아보는중
        - 어렵게 생각해서 그런가 오래걸림..
- 9:00
    - 팀미팅
        - ...기본은 지키자
- 9:20
    - ???
    - 대학교 이름 영어로 수정
- 9:50
    - 편의점
- 10:04
    - 야식
- 10:39
    - 잡담
- 10:58
    - cmplt in-depth 과제 와이어 프레임 그리기
- 11:45
    - 크루원에게 와이어프레임 질의응답
- 11:52
    - 문자 확인
    - rest
- 12:16
    - 구현중
- 2:08
profile
도전!

0개의 댓글