시퀄라이즈 질문드립니다..
253
0
안녕하세요 강사님
ch7에 해당하는
Sequelize 실습에서
hasMany - belongsTo 를 테이블 이름에 칼럼 만바꿔서 테스트를해보니
다음과 같은 에러가 계속 발생하였습니다.

강의에서 users ----------- comments 관계처럼
kakao ------------ talk 로 같은 관계로 테스트하였습니다.
1. kakao.js
const Sequelize = require('sequelize');
module.exports = class Kakao extends Sequelize.Model {
static init(sequelize) {
return super.init({
name : {
type : Sequelize.STRING(20),
allowNull : false,
unique : true,
},
job : {
type : Sequelize.STRING(30),
allowNull : true,
},
sex : {
type : Sequelize.STRING(2), // 남자,여자
allowNull : false,
},
created_at : {
type : Sequelize.DATE,
allowNull : false,
defaultValue : Sequelize.NOW,
},
},{
sequelize,
timestamps : false, // 강제로 createAt,updatedAt 칼럼 만들지 말아줘
undescored : false, // 스네이크 케이스로 사용할꺼야
modelName : 'Kakao',
tableName : 'kakao',
paranoid: false,
charset: 'utf8',
collate: 'utf8_general_ci',
});
}
static associate(db) {
db.Kakao.hasMany(db.Talk, { foreignKey: 'nicName', sourceKey: 'id' });
}
};
2.talk.js
const Sequelize = require('sequelize');
module.exports = class Talk extends Sequelize.Model {
static init(sequelize) {
return super.init({
talk : {
type : Sequelize.STRING(100),
allowNull : true,
},
created_at : {
type : Sequelize.DATE,
allowNull : false,
defaultValue : Sequelize.NOW,
},
},{
sequelize,
timestamps: false,
modelName : 'Talk',
tableName : 'talk',
paranoid: false,
charset: 'utf8mb4',
collate: 'utf8mb4_general_ci',
});
}
static associate(db) {
db.Talk.belongsTo(db.Kakao, { foreignKey: 'nicName', targetKey: 'id' });
}
};
3. index.js
const Sequelize = require('sequelize');
const Kakao = require('./kakao');
const Talk = require('./talk');
// NODE_ENV가 정의되지않으면 개발모드!
const env = process.env.NODE_ENV || 'development';
const config = require('../config/config')[env];
const db = {};
// DB ID PWD Config_File
const sequelize = new Sequelize(config.database, config.username, config.password, config);
db.sequelize = sequelize;
db.Kakao = Kakao;
db.Talk = Talk;
console.log(sequelize);
Kakao.init(sequelize);
Talk.init(sequelize);
Kakao.associate(sequelize);
Talk.associate(sequelize);
module.exports = db;
어떤차이가 있는걸까요..?
저는
db.Kakao.hasMany(db.Talk, { foreignKey: 'nicName', sourceKey: 'id' });
db.Talk.belongsTo(db.Kakao, { foreignKey: 'nicName', targetKey: 'id' });
이두줄을 kakao는 테이블의 고유한 pk가 talk테이블에 많다.(칼럼으로서는 id)
즉 talk 테이블에서 nicName이라는 칼럼을 foreignkey으로 사용하겠다.(kakao의 id를 가지고서)
라고 생각했습니다.
답변 1
0
오타입니다.
Kakao.associate(db)
Talk.associate(db);
0
smathj
강사님 감사합니다
..이런 실수를 문의해서 죄송합니다
다음에는 좀더 확인하고 문의하겠습니다.
리눅스 노드 설치시 패키지
socket.js 에서 referer로부터 roomId를 가져올 때
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
a[title] 질문드립니다
리뉴얼 강의 및 공부 방법
jwt decode
node.js 교과서 3판 질문드립니다
passport와 jwt
리뉴얼 강의
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
sql 쿼리 로그는 어떤 모듈이 작성하나요?
nunjucks res.render('error'); 작동을 안합니다.
질문있습니다.
multer 한글 파일 업로드시 파일명이 깨져요.
수업자료는 어디있나요?
질문 있습니디
multer 사용시 file 외 name값은 못받나용?
코드 중복 부분 질문드립니다.
api 만드는 이유 질문드립니다.
Strategy의 done에 대해 질문드립니다.
안녕하세요 fs 권한 관련 질문드립니다
시퀄라이즈 연결질문...
res.setHeader vs res.cookie