1.ノードJSでmysqlと組み合わせたsequelizeのアプリケーション構成
npm i sequelize mysql2 --save
コマンドダウンロードするsequelize
とmysql2
。
seq.js
コードは次のとおりです。
const Sequelize = require('sequelize')
const config = {
host: 'localhost',
dialect: 'mysql'
}
config.pool = {
max: 5,
min: 0,
idle: 10000
}
const seq = new Sequelize('koa2_db', 'root', '123456', config)
module.exports = seq
model.js
コードは次のとおりです。
const Sequelize = require('sequelize')
const seq = require('./seq')
const User = seq.define('user', {
userName: {
type: Sequelize.STRING,
allowNull: false
},
password: {
type: Sequelize.STRING,
allowNull: false
},
nickName: {
type: Sequelize.STRING,
comment: '昵称'
}
})
const Blog = seq.define('blog', {
title: {
type: Sequelize.STRING,
allowNull: false
},
content: {
type: Sequelize.TEXT,
allowNull: false
},
userId: {
type: Sequelize.INTEGER,
allowNull: false
}
})
Blog.belongsTo(User, {
foreignKey: 'userId'
})
User.hasMany(Blog, {
foreignKey: 'userId'
})
module.exports = {
User,
Blog
}
sync.js
コードは次のとおりです。
const seq = require('./seq')
require('./model')
seq.authenticate().then(() => {
console.log('auth ok')
}).catch(() => {
console.log('auth err')
})
seq.sync({
force: true}).then(() => {
console.log('sync ok')
process.exit()
})