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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM