入门
安装
npm i sequelize mysql2 -S
连接到数据库
const { Sequelize } = require('sequelize')const sequelize = new Sequelize('fast_shop', 'root', 'admin888', { dialect: 'mysql', host: '127.0.0.1', port: '3306', timezone: "+08:00", define: { freezeTableName: true, // 关闭复数表名 paranoid: true, // 生成 deleted_at 软删字段 underscored: true, // 驼峰转下划线 createdAt: 'created_at', // 自定义创建时间字段 updatedAt: 'updated_at', deletedAt: 'deleted_at' }})// 测试连接// sequelize.authenticate()// .then(r => {// console.log(`数据库连接成功`);// })// .catch(err => {// console.log(`数据库连接失败 ${err}`);// })// 同步数据库sequelize.sync() .then(r => { console.log('数据库同步成功'); }) .catch(err => { console.log(`数据库同步失败!${err}`); })module.exports = sequelize
定义模型
const { Sequelize, Model, DataTypes } = require('sequelize')const sequelize = require('./../../core/db')class User extends Model {}User.init({ username: { type: DataTypes.STRING(30), allowNull: false, comment: '用户名' }, password: { type: DataTypes.STRING, allowNull: false, comment: '密码', // 当 password 字段被重新赋值时执行 set(val) { const salt = genSaltSync(10) this.setDataValue('password', hashSync(val, salt)) } }, email: { type: DataTypes.STRING, allowNull: false, comment: "用户邮箱" }, openId: { type: DataTypes.STRING, defaultValue: '', comment: "小程序id" }}, { sequelize})module.exports = User