user 테이블

//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'});