1. Application configuration of sequelize combined with mysql in node JS
- By
npm i sequelize mysql2 --save
command to download sequelize
and mysql2
.
seq.js
The code is as follows:
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
The code is as follows:
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
The code is as follows:
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()
})