首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我可以在typeorm中将实体字段名映射到别名列名吗?

我可以在typeorm中将实体字段名映射到别名列名吗?
EN

Stack Overflow用户
提问于 2019-05-26 14:29:37
回答 2查看 11.4K关注 0票数 14

我正在使用TypeORM从Rails迁移到NestJs。由于历史原因,Rails中的表名和列名都是snaked_cased的--我不想把这个麻烦复制到我们的NestJs/React端

我可以在名为firstName的NestJS (typeorm)中创建实体字段,但映射到我的DB中名为first_name的列吗?

我的桌子

+-------------+--------------+----------------------------+
|                      system_users                       |
+-------------+--------------+----------------------------+
| id          | int(11)      | PRIMARY KEY AUTO_INCREMENT |
| first_name  | varchar(100) |                            |
| last_name   | varcahr(100) |                            |
+-------------+--------------+----------------------------+

我的用户实体类

import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';

@Entity({ name: 'system_users' })
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ length: 255 })
  first_name: string;  <-- I WANT THIS TO BE firstName (camelCased)

  @Column({ length: 255 })
  last_name: string;   <-- I WANT THIS TO BE lastName (camelCased)
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-26 14:36:47

我终于在文档中找到了我想要的东西。@Column属性接收许多属性,其中之一是name,它可以定义与字段相关联的列名。

我更新的实体:

@Entity({ name: 'system_users' })
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ length: 255, name: "first_name" })
  firstName: string; 

  @Column({ length: 255, name: "last_name" })
  lastName: string; 
}
票数 33
EN

Stack Overflow用户

发布于 2021-07-05 19:38:11

如果其他人遇到这个问题,请知道TypeORM支持naming strategies

甚至还有一个用于snake case naming strategy的软件包

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56311203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档