簡體   English   中英

我可以將實體字段名稱映射到 typeorm 中的別名列名稱嗎?

[英]Can I map entity field names to alias column names in typeorm?

我正在使用 TypeORM 從 Rails 遷移到 NestJs。 由於歷史原因,Rails 中的表名和列名都是蛇形的——我不想把這個麻煩復制到我們的 NestJs/React 端

我可以在 NestJS (typeorm) 中創建名為 firstName 的實體字段,但映射到我的數據庫中名為 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)
}

我終於在文檔中找到了我想要的東西。 @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; 
}

如果其他人遇到此問題,請知道 TypeORM 支持命名策略
甚至還有一個用於蛇形案例命名策略的包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM