我正在使用 TypeORM 从 Rails 迁移到 NestJs。
由于历史原因,Rails 中的表名和列名是snaked_cased
- 我不想将这种麻烦复制到我们的 NestJs/React 端。
我可以在 NestJS (typeorm) 中创建实体字段吗firstName
但映射到名为的列first_name
在我的数据库中?
My table
+-------------+--------------+----------------------------+
| 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)
}
我终于在文档中找到了我想要的东西。这@Column
attribute 接收许多属性,其中之一是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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)