sequelize, Sequelize 둘다 인자로 주는 이유가 무엇인가요?
508
작성한 질문수 28
코드를 보면, sequelize와 Sequelize를 둘다 인자로 주는 부분이 있습니다.
그러나, 어찌보면 둘다 require('sequelize')에서 온건데, 굳이 저렇게 하는 이유가 뭔가요?
db.User = require('./user')(sequelize, Sequelize);
db.Post = require('./post')(sequelize, Sequelize);
이하는 코드 전문입니다.
const Sequelize = require('sequelize');const env = process.env.NODE_ENV || 'development';
const config = require('../config/config')[env];
const db = {};
const sequelize = new Sequelize(
config.database, config.username, config.password, config,
);
db.sequelize = sequelize;
db.Sequelize = Sequelize;
db.User = require('./user')(sequelize, Sequelize);
db.Post = require('./post')(sequelize, Sequelize);
db.Hashtag = require('./hashtag')(sequelize, Sequelize);
db.User.hasMany(db.Post);
db.Post.belongsTo(db.User);
db.Post.belongsToMany(db.Hashtag, { through: 'PostHashtag' });
db.Hashtag.belongsToMany(db.Post, { through: 'PostHashtag' });
db.User.belongsToMany(db.User, {
foreignKey: 'followingId',
as: 'Followers',
through: 'Follow',
});
db.User.belongsToMany(db.User, {
foreignKey: 'followerId',
as: 'Followings',
through: 'Follow',
});
db.User.belongsToMany(db.Post, {through:'Like'});
db.Post.belongsToMany(db.User, {through:'Like'});
module.exports = db;
답변 4
1
실인자로 넣는 부분 말고 매개변수로 받는 부분을 보시면 됩니다.
각각, sequelize.define의 sequelize와 DataTypes.STRING의 DataTypes(Sequelize)로 연결됩니다.
sequelize는 Sequelize 클래스의 인스턴스입니다. STRING은 클래스 메서드고, define은 인스턴스 메서드라서 둘 다 필요한 겁니다.
0
혹시, user.js같은 js 파일들의 내부에서
sequelize.define('user', {} 하는 부분에서 처음으로 method가 정의되는 건가요?
그리고, DataTypes.STRING(40) 으로 class method도 선언 하구요.
근데 그렇다 해도, 굳이 원래는 한곳에서 상속되어 온 건데 sequelize와 Sequlize를 나누는 이유를 모르겠습니다 ㅜ.ㅜ
0
오오. 멋진 답변 정말 감사합니다! 그렇군요!! 이게 정말 쉬운게 아니네요 ㅇ,.ㅇ;;
근데 아직도 이해가 안가는 부분이 있습니다.
--> require('sequelize')에서 Sequlize가 왔고, 여기서 'new Sequelize를 통해서 sequelize가 탄생.
그렇다면 method도 공유 해야 하는거 아닌가요?
class와 instance 간에 다른 method를 만드는 코드를 본 기억이 없어서요.
여담이지만
좋은 강의 감사드립니다. 책으로도 사고, 강좌로도 듣고 있는데 정말 알찹니다.
단, 책이 너무 무거워서 ebook으로 다시 사야 할거 같네요 - _ -;
실제 서비스에서도 cluster를 사용하나요?
1
314
2
캐싱에 관하여
0
279
3
salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?
0
347
1
게시물 올리기 오류
0
408
1
캐슁 이후 로그인창
0
266
1
kakao passport 질문있습니다.
0
493
3
global객체 공유 질문드립니다.
1
418
1
서버가 죽어버리네요
0
1047
8
포링키 문제..
0
235
2
커넥션 플래시 설치문제
0
216
2
익스프레스 제너레이터? 설치문제
0
2586
6
redis 질문입니다.
0
305
1
9장 세션을 DB에 저장시 리다이렉션 오류 발생
0
874
8
프레임워크 선택에 관하여 질문이 있습니다.
0
300
3
시퀄라이즈 질문입니다 ! !
0
588
1
리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문
0
922
6
oAuth 질문입니다.
0
356
3
GCP 질문입니다.
0
366
1
Passport 모듈 로그인 구현관련
0
720
6
카카오 로그인 관련 질문입니다!!
0
606
4
스스로 해보기 10-16 nunjuncks 질문있습니다
0
499
5
제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.
0
317
2
gif채팅방 nunjucks관련 질문입니다!
0
338
3
현영님 몽고db관련 질문입니다.
0
233
3





