//models user.js 파일
module.exports = (sequelize, DataTypes) => {
return sequelize.define('user', {
name : {
type : DataTypes.STRING(20); // STRING은 (글자수) 필요
allowNull : false, // 필수여부
unique : true, //고유값
},
age : {
type : DataTypes.INTEGER.UNSIGND, // 정수.부호 X
allowNull : false,
},
married : {
type : DataTypes.BOOLEAN,
allowNull : false,
},
comment : {
type: DataTypes.TEXT // STRING 길어질거같으면 TEXT로
allowNull : true,
},
created_at:{
type : DataTypes.DATE,
allowNull : false,
defaultValue : sequelize.literal('now()'),
}
// comment : 컬럼 설명
// primaryKey : 기본키 여부(id 대체)
},{
timestamps : false, //생성일 자동 등록 여부
underscored: true, // true 이면 스네이크, flase면 카멜케이스
})
}
const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require('../config/config.json')[env];
// sequelize 객체 생성
const sequelize = new Sequelize(config.database, config.username, config.password, config);
// db 객체 생성
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
db.User = require('./user')(sequelize, Sequelize);
module.exports = db;
일대다 관계)
const path = require('path');
const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require('../config/config.json')[env];
// sequelize 객체 생성
const sequelize = new Sequelize(config.database, config.username, config.password, config);
// db 객체 생성
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
db.User = require('./user')(sequelize, Sequelize);
db.Comment = require('./comment')(sequelize, Sequelize);
// 일대 다 관계
db.User.hasMany(db.Comment, {foreignKey : 'commenter', soureKey : 'id'});
db.Comment.belongsTo(db.User, {foreignKey : 'commenter', targetKey : 'id'});
module.exports = db;
일대일 관계)
db.User.hasOne(db.Comment, {foreignKey : 'commenter', soureKey : 'id'});
db.Comment.belongsTo(db.User, {foreignKey : 'commenter', targetKey : 'id'});