You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS+Sequelize中如何为模型类的数据库字段设置别名?

在NestJS的Sequelize模型中设置数据库列别名

完全可以实现,你只需要在@Column装饰器的配置对象里通过field属性指定数据库中的实际列名即可,和@ForeignKey装饰器兼容没有问题。

修改后的代码示例:

@ForeignKey(() => Relation)
@Column({ field: 'relation_id' })
relationId: number; // 该字段在数据库中的名称为relation_id

补充说明

  • field属性的作用就是明确告知Sequelize,当前模型属性对应的数据库列名是什么,无论你的模型属性用驼峰还是其他命名方式,都可以通过它映射到任意数据库列名。
  • 如果你的项目中大部分字段都是驼峰命名对应数据库的下划线命名,还可以在Sequelize的全局配置中开启underscored: true,这样所有模型的驼峰属性会自动映射为下划线格式的列名,无需逐个设置field:
    // 在app.module.ts的SequelizeModule.forRoot配置中
    SequelizeModule.forRoot({
      // 其他配置...
      underscored: true,
    })
    

内容的提问来源于stack exchange,提问作者al kaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:29:10