인프런 커뮤니티 질문&답변
db 컬럼 에러 질문드립니다
작성
·
414
답변 4
0
0
정세연
질문자
User.associate = (db) => {
db.User.hasMany(db.Post);
db.User.hasMany(db.Comment);
db.User.belongsToMany(db.Post, { through: "Like", as: "Liked" });
db.User.belongsToMany(db.User, {
through: "Follow",
as: "Followers",
foreignKey: "FollowingId",
});
db.User.belongsToMany(db.User, {
through: "Follow",
as: "Followings",
foreignKey: "FollowerId",
});
};
return User;
넵 User쪽에서도 만들었습니다 ㅜㅜ
0
정세연
질문자
module.exports = (sequelize, DataTypes) => {
const Post = sequelize.define(
"Post",
{
content: {
type: DataTypes.TEXT,
allowNull: false,
},
},
{
charset: "utf8mb4", //한글 및 이모티콘
collate: "utf8mb4_general_ci",
}
);
Post.associate = (db) => {
db.Post.belongsTo(db.User);
db.Post.belongsToMany(db.Hashtag, { through: "PostHashtag" });
db.Post.hasMany(db.Comment);
db.Post.hasMany(db.Image);
db.Post.belongsToMany(db.User, { through: "Like", as: "Likers" });
db.Post.belongsTo(db.Post, { as: "Retweet" });
};
return Post;
};
model/post.js 입니다
db에 likers 테이블 자체가 생기지 않습니다.
시간 내주셔서 감사합니다
0
제로초(조현영)
지식공유자
DB를 직접 확인해보아야 합니다. Likers 테이블이 생겼고 그 안에 PostId 컬럼이 있는지를요. 그리고 belongsToMany 관계 코드도 보여주세요. User와 Post간에요.







이러면 테이블이 생겨야 정상입니다. DB에 Like 테이블이 있을거에요. 처음 서버 실행할 때 CREATE TABLE IF NOT EXIST 하면서 SQL 쫘르륵 뜨지 않나요?