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
相关产品推荐
相关产品推荐

