Today I learned
오늘은 Sequelize를 학습을 하면서 관계를 설정하고 sync()를 하면 테이블이 생성될 때
foreign key설정이 되는 것을 확인했다
이런식으로 진행을하면 관계를 설정한대로 설정이 된다
이전 프로젝트의 문제점이였던 부분을 해결할 수 있을거 같은 느낌이 들었다
이전 프로젝트의 문제점이 관계설정은 했는데 데이터베이스에는 foreign key가 설정이 안되고 테이블이 생성되는 문제였다 join을 사용할 때 문제가 생기지 않아서 그냥 작업을 진행했는데
피드백 중 급한 상황이 발생해서 데이터베이스를 직접 건드려야 하는 경우가 발생했을 때
관계가 연결이 안되어있어서 문제가 생기면 어떻게 해결하겠냐는 피드백이었다
오늘 학습을 진행하면서 문제를 해결할 수 있다고 생각이 들어서 바로 문제를 해결해보았다
마이그레이션파일에서 쿼리 인터페이스를 사용해서 테이블에 foreing key로 사용할 열을 추가하고
제약 조건을 추가하는 시도를 진행했다 orders에 users의 id를 참조하는 제약조건을 만든다
reviews에도 열을 추가하고 users의 id와 orders의 id를 참조하는 제약조건을 만든다
이렇게 세팅을하고 마이그레이트를 실행해보자
npx sequelize db:migrate
dbeaver로 가서 생성된 테이블의 엔티티 관계도를 확인해보면 제대로 제약조건이 설정된 상태에서
테이블이 생성이 되는걸 확인할 수 있다
오늘 배운건 sequelize와 queryinterface를 사용해서 테이블에 열을 추가하거나 제약조건을 추가할 수 있게 됐다.
'과거공부모음' 카테고리의 다른 글
나의 개발일지 20220131 TIL(Today I learned) - 시퀄라이즈, 타입스크립트 (0) | 2023.01.31 |
---|---|
나의 개발일지 20220130 TIL(Today I learned) - 데이터베이스, 타입스크립 (0) | 2023.01.30 |
나의 개발일지 20220126 TIL(Today I learned) - Sequelize (0) | 2023.01.26 |
나의 개발일지 20220125 TIL(Today I learned) - 데이터베이스 모델링, 타입스크립트 enum (0) | 2023.01.25 |
나의 개발일지 20220120 TIL(Today I learned) - module.exports와 export, 객체의 프로퍼티 확인 (0) | 2023.01.20 |