sequelize-auto 질문있습니다.
안녕하세요 제로초님
강의를 보면서 시퀄라이즈 생성시
db를 미리 만들어 놓은 후 sequelize-auto 로 모델들을 생성해주면
init-models 등 모델 관련 js가 생기는데요
여기서 db접속이 안되는 것 같은 에러가 발생합니다.
예를들어 User모델을 가지고온 후 findOne을 하게되면 User.findOne is not a function 이런 에러가 발생하는데...
이런경우 어떻게 해결해야할까요..?
답변 1
0
User을 어떻게 임포트하셨나요?
0
const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
return sequelize.define('users', {
id: {
autoIncrement: true,
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true
},
email: {
type: DataTypes.STRING(40),
allowNull: true,
unique: "email"
},
nick: {
type: DataTypes.STRING(15),
allowNull: false
},
password: {
type: DataTypes.STRING(100),
allowNull: true
},
provider: {
type: DataTypes.STRING(10),
allowNull: false,
defaultValue: "local"
},
snsId: {
type: DataTypes.STRING(30),
allowNull: true
}
}, {
sequelize,
tableName: 'users',
timestamps: true,
paranoid: true,
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [
{ name: "id" },
]
},
{
name: "email",
unique: true,
using: "BTREE",
fields: [
{ name: "email" },
]
},
]
});
};
이렇게구요 처음보는게 init-models.js라는 곳에 관계맺는거랑
초기화 관련된게 있는 것 같습니다.
0
var DataTypes = require("sequelize").DataTypes;
var _domains = require("./domains");
var _follow = require("./follow");
var _hashtags = require("./hashtags");
var _posthashtag = require("./posthashtag");
var _posts = require("./posts");
var _users = require("./users");
function initModels(sequelize) {
var domains = _domains(sequelize, DataTypes);
var follow = _follow(sequelize, DataTypes);
var hashtags = _hashtags(sequelize, DataTypes);
var posthashtag = _posthashtag(sequelize, DataTypes);
var posts = _posts(sequelize, DataTypes);
var users = _users(sequelize, DataTypes);
hashtags.belongsToMany(posts, { as: 'PostId_posts', through: posthashtag, foreignKey: "HashtagId", otherKey: "PostId" });
posts.belongsToMany(hashtags, { as: 'HashtagId_hashtags', through: posthashtag, foreignKey: "PostId", otherKey: "HashtagId" });
users.belongsToMany(users, { as: 'followingId_users', through: follow, foreignKey: "followerId", otherKey: "followingId" });
users.belongsToMany(users, { as: 'followerId_users', through: follow, foreignKey: "followingId", otherKey: "followerId" });
posthashtag.belongsTo(hashtags, { as: "Hashtag", foreignKey: "HashtagId"});
hashtags.hasMany(posthashtag, { as: "posthashtags", foreignKey: "HashtagId"});
posthashtag.belongsTo(posts, { as: "Post", foreignKey: "PostId"});
posts.hasMany(posthashtag, { as: "posthashtags", foreignKey: "PostId"});
domains.belongsTo(users, { as: "User", foreignKey: "UserId"});
users.hasMany(domains, { as: "domains", foreignKey: "UserId"});
follow.belongsTo(users, { as: "follower", foreignKey: "followerId"});
users.hasMany(follow, { as: "follows", foreignKey: "followerId"});
follow.belongsTo(users, { as: "following", foreignKey: "followingId"});
users.hasMany(follow, { as: "following_follows", foreignKey: "followingId"});
posts.belongsTo(users, { as: "User", foreignKey: "UserId"});
users.hasMany(posts, { as: "posts", foreignKey: "UserId"});
return {
domains,
follow,
hashtags,
posthashtag,
posts,
users,
};
}
module.exports = initModels;
module.exports.initModels = initModels;
module.exports.default = initModels;
init-models입니다.
0
sequelize-auto는 그럼 쓰면 안되는건가요...?
db쪽 테이블 설계 후 sequelize-auto 하면 편하게 모델 생성할수있다고 보고 해본건데...
안되는건가요..?
0
편하게 모델 생성했으니 다른 부분만 조금 고치면 되는 거죠. 완벽하게 자기 입맛에 맞게 고쳐주는 툴은 별로 없습니다. 어느 정도는 직접 수정할 각오 하셔야해요.
리눅스 노드 설치시 패키지
0
172
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
926
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2297
2
a[title] 질문드립니다
0
386
1
리뉴얼 강의 및 공부 방법
0
589
1
jwt decode
0
1137
1
node.js 교과서 3판 질문드립니다
0
396
1
passport와 jwt
0
438
1
리뉴얼 강의
0
428
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
359
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
488
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
511
2
nunjucks res.render('error'); 작동을 안합니다.
0
518
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3543
1
수업자료는 어디있나요?
0
374
1
질문 있습니디
0
244
1
multer 사용시 file 외 name값은 못받나용?
0
429
1
코드 중복 부분 질문드립니다.
0
303
1
api 만드는 이유 질문드립니다.
0
292
1
Strategy의 done에 대해 질문드립니다.
0
373
1
안녕하세요 fs 권한 관련 질문드립니다
0
456
1
시퀄라이즈 연결질문...
0
510
2
res.setHeader vs res.cookie
0
1797
3





