Sequelize常用操作
Sequelize是一个基于Node.js的一款ORM框架,目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server数据库。支持事务、 关联关系、 预读、延迟加载、读取复制等功能。
Sequelize官网文档有点过于简洁了,数据库-模型之间的一些复杂但是非常实用的操作并没有收录,所以这篇文章是Sequelize对数据库一些常见操作的实践记录。基于我踩的一对坑撰写,可能有点像流水账,开始之前需要你对Sequelize的基本概念有所了解。
创建User表:
1 | User.init( |
创建角色表:
1 | Role.init( |
创建用户-角色中间表(多对多):
1 | UserRole.init({ |
创建多对多关系:
1 | User.belongsToMany(Role, {through: UserRole}) |
创建反馈表:
1 | Feedback.init( |
创建反馈与用户的一对多关系
1 | // 反馈创建人 |
获取我的反馈列表:
1 | // 反馈列表包含处理人和创建人的id、username |
查询产品列表:
1 | await Product.findAll({ |
添加产品:
1 | const newProduct = Product.build({ // build非异步方法 |
删除产品:
1 | await Product.destroy({ |