위와 같이 시퀄라이즈를 통해 관계를 설정했습니다. Post . belongsToMany ( Tag , { through : "PostTag" , foreignKey : "PostId" }); Tag . belongsToMany ( Post , { through : "PostTag" , foreignKey : "TagId" }); 여기에서 PostTag 모델도 정의했는데 이렇게 총 시퀄라이즈를 통해 N:M 관계를 정의할 때 3개의 모델을 정의하는게 맞나요? 그리고 Post.findAll({ include:[{ model:PostTag // .. 조건들 }, { model:Tag}]}); 3개의 테이블에 접근할 때 이렇게 접근하는 게 맞을까요
express로 웹 서버를 배운 후 기본기를 다지기 위해 강의를 보고 있습니다. 저는 시퀄라이즈를 쓰지 않고 mysql 모듈과 createConnection을 이용하여 DB에 연결을 하였습니다. 시퀄라이즈를 적용한 구문을 보면서 생각이 들었는데 실제 실무에서 SQL을 작성하기 보다(PreparedStatement와 관계없이) 시퀄라이즈를 사용하는 사례가 더 많을까요? 저 같은 경우에 로그인 체크 과정을 다음과 같은 방식으로 진행하였는데 가독성 측면에서 user.findOne이 낫다는 생각이 문득 들어 질문드립니다!
시퀄라이즈 테스트를 하고 있습니다. 게시물(1) : 댓글(N) 을 만들어보고 싶어서 static associate(db) { db.Reply.belongsTo(db.Post, { foreignKey: "postId", targetKey: "id", }); } static associate(db) { db.Post.hasMany(db.Reply, { foreingnkey: "postId", sourceKey: "id" }); } 이렇게 배운대로 작성한 뒤, 값을 콘솔로 찍어보니 요런 형태로 나옵니다. 1. 제가 Replies는 안 만들었는데, 자동으로 생성된건가요? 2. 클라이언트에서 이 값을 사용하고 싶다면... 어떻게 호출을 해야하나요? 도와주세요 감사합니다.
보통 시퀄라이즈 N:M 관계에서 through로 관계를 설정하면 자동으로 만들어지는 테이블에 제가 원하는 칼럼이 추가 가능한가요?? 아니면 그냥 N:M 관계이지만 중간테이블을 제가 생성해서 hasmany, belongs to로 관계를 설정해줘야 할까요?? 찾아봐도 잘 모르겠어서 질문 드립니다 ㅜ