-
2주 프로젝트 4일차--- 2021. 2. 4. 23:58반응형
오늘 어느정도 배포하는 감을 잡았다
마음이 한결편안 하다
내일부턴 뭔가 될거같은 느낌이다.
오늘마주한 에러 및 어려움 및 어제 마주했던 오류 해결
1. 시퀄라이저에서 테이블을 생성하는 곳이 model 폴더 안에있는 거고 만들어진 테이블의 형식이 마이그레이션에 들어있다고 이해했다.
정확한 오류명은 기억이 안나지만 테이블이름은 복수형이여야 한다는 점이 포인트 엿고
모델에서는 테이블을 만들기때문에 복수형이 아닌채로 적어도 되지만 마이그레이션폴더에서는 만들어진 테이블의 형식을 지정하기 때문에 마이그레이션 폴더안에서 테이블명은 복수임을 인지하고 적용해야한다.
ERROR: Table 'dinnershow.comment' doesn't exist
2. 어제 ec2 에서 rds 연결이후 시퀄라이저 를 사용못했던 점이 있었는데 config.json 설정 파일 에서 env 지정에 대한 오류였다.
process.env.NODE_ENV 이거는 디폴트 값이 development 였다는점을 몰랏다 내일은 이부분 고려해서 다시 코드 수정이후에 ec2 에서
env 설정이후에 배포를 진행해봐야겠다.
Loaded configuration fileconfig.json".
Using environment "development".
3. 시더파일에 견본데이터를 넣을때 포린키 관련 에러다 이거는 참고할 대상이 아직 존재 하지 않을때 나온다.
ERROR: Cannot add or update a child row: a foreign key constraint fails (`dinnershow`.`contents`, CONSTRAINT `contents_userId_foreign_idx` FOREIGN KEY (`userId`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE)
4. 생각보다 컨트롤러부분을 라우트 해서 각각 폴더에 담아놓는게 어렵게 느껴졋고 아직은 그부분부터 하기에는 앞으로도 수정해야할 사항들이 많을거 같다는 생각이 들었고 수정을 하기에는 한곳에 있는게 편하게 느껴져서 일단은 index.js 에서 각각 구현이후 한묶음의 기능들이 구현될때마다 폴더화 시켜서 라우트 작업을 해야겠다라고 느꼇다.
5. 오늘 스키마 변경을 두차례 생각해 보게 되었는데 처음에 어떤 부분을 생각해야되는지 조금 느낌이 왔다. 앞으로는 없겟지??
아 로그인 부분에 뭔가있으려나??
6. sequelizer assosiation 관련해서 포린키를 추가하기 전에 마이그레이션으로 해당칼럼을 넣어줘야 하는점을 몰랐던게 너무 시간을 많이 끌었다. 또 기존에 init 으로 생성되는 파일에는 클래스형식으로 테이블을 정의해놔서 참고할 만한 자료가 별로 없엇는데 있는거로 해보려고 고집부리다가 시간을 너무 뺏겻다. 구글링해서 함수형으로 정의하고 그페이지에서 assosiation 처리까지 할수있었다.
즉 assosiation 처리(hasmany,belongto) db:migrate 하기전에
npx sequelize migration:generate --name add-comment-contentId-column
해당 테이블에 column 을 추가하는 마이그레이션 까지 만들어놓고 나서
db:migrate 를 해야 assosiation 이 잘 처리된다.
의문점 :
1.cors 설정 왜 안되지 ["*"] 일단 배포 연습으로 다열어놨는데?
'---' 카테고리의 다른 글
2주 프로젝트 배포과정(상) (0) 2021.02.09 2주 프로젝트 7일차 (0) 2021.02.09 2주프로젝트 3일차 (0) 2021.02.04 2주 프로젝트 2일차 회고 (0) 2021.02.02 20201210(목) (0) 2020.12.10