Sequelize数据库使用过程中存在问题

本文详细介绍了如何使用Sequelize数据库进行数据表的创建、数据的初始化、删除及错误处理。包括了迁移文件的生成与执行,以及在遇到问题时如何还原所有迁移和种子文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sequelize数据库在已有数据表结构的基础上,新增数据表

由于Sequelize数据库没有提供相应的解决办法,因此我们在建好迁移文件和种子文件之后,里面的内容需要我们自己补全。详细过程如下所示:

  1. 新建model
  2. Sequelize数据库查看命令:.\node_modules\.bin\sequelize
Sequelize数据库相应命令

3.使用命令.\node_modules\.bin\sequelize migration:generate --name XXX创建迁移文件

4.新建好迁移文件之后,使用命令:.\node_modules\.bin\sequelize db:migrate 执行迁移文件

5.打开数据库管理工具,查看表已建好.

数据表创建成功

 ERROR: Octal literals are not allowed in strict mode.

报错原因:

报错原因

过程总结:使用Sequelize-cil过程中,不管遇到什么问题,一定要还原所有运行的迁移和种子文件,即如下四条语句:

建表命令

.\node_modules\.bin\sequelize db:migrate

初始化表数据

.\node_modules\.bin\sequelize db:seed:all

删除表命令

.\node_modules\.bin\sequelize db:migrate:undo:all

删除表数据

.\node_modules\.bin\sequelize db:seed:undo:all

 级联查询inventoryList和inventoryDetails表时,报错,但是我的inventoryDetails并没有createAt字段。

报错信息如下:

查询语句如下: 

粗暴解决办法:将这两个多出来的字段屏蔽,如下图所示: 

正常解决办法:

timestamps: false,  //去除createAt updateAt

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值