1. Sequelize连接数据库,配置数据库连接参数
1.1第一步就是做好数据库连接的参数
![](https://img.haomeiwen.com/i8553141/cc3b3e517670e9cf.png)
然后我们在core包下面创建一个db.js 然后写入链接函数:
const Sequelize = require('sequelize')
const {
dbName,
host,
port,
user,
password
} = require('../config/config').database
const sequelize = new Sequelize(dbName, user, password, {
dialect: 'mysql',
host,
port,
logging: true,
timezone: '+08:00',
define: {
// create_time && update_time
timestamps: true,
// delete_time
paranoid: true,
createdAt: 'created_at',
updatedAt: 'updated_at',
deletedAt: 'deleted_at',
// 把驼峰命名转换为下划线
underscored: true,
freezeTableName: true,
scopes: {
bh: {
attributes: {
exclude: ['updated_at', 'deleted_at', 'created_at']
}
}
}
}
})
// 创建模型
sequelize.sync({
force: false
})
module.exports = {
sequelize
}
在上面define: 中有定义
// create_time && update_time
timestamps: true,
这个是由于Sequelize会在生成表的时候额外的多加create_time 和 update_time,这个我们一般都是需要的,而且平时操作不用关系,Sequelize会帮我们维护这三个信息。
![](https://img.haomeiwen.com/i8553141/a1b47a844eb4477c.png)
还想了解的可以去Sequelize官网查看。
![](https://img.haomeiwen.com/i8553141/4ff0b35d70d5ff12.png)
2.创建模型
我们先来创建一个user模型:
const bcrypt = require('bcryptjs')
const {sequelize} = require('../../core/db');
const {Sequelize, Model} = require('sequelize');
// 定义用户模型
class User extends Model {
// 初始用户模型
User.init({
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
nickname: Sequelize.STRING,
email: {
type: Sequelize.STRING(128),
unique: true
},
password: Sequelize.STRING,
openid: {
type: Sequelize.STRING(64),
unique: true
},
}, {
sequelize,
tableName: 'user'
})
module.exports = {
User
}
2.1 在app.js导入user
![](https://img.haomeiwen.com/i8553141/31159a2561134261.png)
2.2 同步打开
// 创建模型
sequelize.sync({
force: false
})
会自动的执行刚刚写的user的model给持久化到数据库中。
其中force: false,如果为true,意思是每次都会删掉之前根据model持久化的表,然后重新的根据现在的model初始化一次数据表。
2.3 写入数据库
到这里都很简单了,就是使用Sequelize这个工具包而已,CRUD都可以到官网查看即可。
![](https://img.haomeiwen.com/i8553141/2bb620a6176edd03.png)
网友评论