传送门
# 视频教程
https://nodelover.me/course/sequelize/ # 官方文档
http://docs.sequelizejs.com/manual/tutorial/models-definition.html # sequelize-cli 文档
http://docs.sequelizejs.com/manual/tutorial/migrations.html#the-cli
数据库连接,以mysql为例
const Sequelize = require('sequelize'); const connect = new Sequelize('database', 'username', 'password', {
host: 'localhost',
port: 3306,
dialect: 'mysql',
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
}); connect.authenticate().then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
model的创建和同步数据库
// 模型定义API:http://docs.sequelizejs.com/manual/tutorial/models-definition.html
const User = sequelize.define('user', {
firstName: { type: Sequelize.STRING },
lastName: { type: Sequelize.STRING },
}, {
// 省略 createdAt 和 updateAt
timestamps: false
}); // 第一次没有表的时候需要同步来创建
// http://docs.sequelizejs.com/manual/tutorial/instances.html
// 官方还有两种额外的做法,一种是先build一个实例,然后save(),一种是直接create
sequelize.sync({
force: true
}).then(() => {
return User.create({
firstName: 'John',
lastName: 'Hancock'
})
}).then(() => {
return User.find({
where: {
firstName: 'John'
}
})
}).then(console.log)
sequelize-cli 的安装和使用
http://docs.sequelizejs.com/manual/tutorial/migrations.html#the-cli
$ npm i sequelize-cli -g
$ sequelize init
$ sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string