nodejs 最受欢迎的orm sequelize

传送门

# 视频教程
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
原文地址:https://www.cnblogs.com/CyLee/p/9752458.html