sequelize解决模型不是sequelize创建的实例

本文介绍了在使用Sequelize ORM时如何处理模型创建和外键关系。Sequelize采用CodeFirst模式,自动将ID设为主键,并能自动创建外键和时间戳字段。通过示例代码展示了添加外键关系的方法,提示需注意数据库表的状态。此外,还提及Sequelize模型可定义自定义方法,并引发了对封装数据访问层的思考。

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

最近研究Express这个框架中,然后到Yeoman上面扒了一个Express的项目来玩儿,基于MVC思想的。

看到数据访问那儿,让我懵逼了很久,于是花了一点儿时间来研究Sequelize,这是一个为nodejs打造的ORM,在这之前我已经很熟悉微软爸爸的Microsoft Entity Framework了,还是爬了一点儿小坑。

sequelize是CodeFirst开发模式,(Entity Framework还有DbFirst模式),所以最关键的事情就是解决模型的问题。

经过一番摸索,得出以下结论:

1.ORM都是绝对自信的,对ID就是主键,所以你就不要加一些奇奇怪怪的字段作为主键啦。(Entity Framework也是这样)

2.对于外键,你就不需要自己手动建立外键字段,只需要告诉Sequelize即可,它会自己去帮你创建。

3.经Sequelize创建的数据表,默认会有“createdAt”,“uodatedAt”字段,可以手动配置关闭。

以下是我配置的一个模型的代码示例:

module.exports = function (sequelize, DataTypes) {

  var Student = sequelize.define(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值