傳送門
# 視頻教程 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