sequelize是什么
ORM:把关系数据库的表结构映射到对象上
sequelize是把对象映射到数据库中的表和数据中
sequelize的用法
- 从基础开始创建项目并使用:
- 参考廖雪峰的网站
- node.js 使用 sequelize 操作数据库
(可以不用创建koa项目,直接创建app.js文件,并在其中使用立即执行函数或者其他方式进行数据库操作)
- 基本的操作函数
基本的操作 - 事务
Sequelize 中文API文档 - 关系数据库的外键约束
创建外键并设置约束方式
在创建的时候直接使用reference:{}和创建后使用方法belongsTo,hasOne等函数创建的结果差别在于后者可以设置CASCADE
等约束方式
遇到的问题
Cannot add or update a child row a foreign key constraint fails [duplicate]
原因:参考这里
Sequelize - called with something that's not a subclass of Sequelize.Model
原因:参考这里
简单来说,比如在使用belongsTo方法的时候写成UserEmployee.belongsTo('Company')
就会出现这个问题,解决办法就是使用数据表的model对象,即
const Company=require('./company');
UserEmployee.belongsTo(Company)