如何在 TypeORM 中定义 varchar 和 enum?
How to define varchar and enum in TypeORM?
我有数据库结构需要在 TypeScript 中使用 TypeORM 将变量声明为 varchar
、int
和 enum
。但是在 TypeScript 中没有数据类型 varchar 和 int。我该如何申报?
Database structure
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
account_id: varchar;
@Column()
email: varchar;
@Column()
phone_number: varchar;
@Column()
address: varchar;
@Column()
status: enum;
@Column()
current_id: varchar;
}
数据库中的列类型是根据您使用的 属性 类型推断出来的,例如number 将被转换为 integer,string 将转换为 varchar,boolean 将转换为 bool,等等。但是您可以通过在 @Column 装饰器中隐式指定列类型来使用数据库支持的任何列类型。
import {Entity, Column, PrimaryGeneratedColumn} from "typeorm";
@Entity()
export class Photo {
@PrimaryGeneratedColumn()
id: number;
@Column({
length: 100
})
name: string;
@Column("text")
description: string;
@Column()
filename: string;
@Column("double")
views: number;
@Column()
isPublished: boolean;
}
由于您已经在使用 typeorm,因此您可以使用此处定义的类型:https://github.com/typeorm/typeorm/blob/master/docs/entities.md#column-types
我有数据库结构需要在 TypeScript 中使用 TypeORM 将变量声明为 varchar
、int
和 enum
。但是在 TypeScript 中没有数据类型 varchar 和 int。我该如何申报?
Database structure
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
account_id: varchar;
@Column()
email: varchar;
@Column()
phone_number: varchar;
@Column()
address: varchar;
@Column()
status: enum;
@Column()
current_id: varchar;
}
数据库中的列类型是根据您使用的 属性 类型推断出来的,例如number 将被转换为 integer,string 将转换为 varchar,boolean 将转换为 bool,等等。但是您可以通过在 @Column 装饰器中隐式指定列类型来使用数据库支持的任何列类型。
import {Entity, Column, PrimaryGeneratedColumn} from "typeorm";
@Entity()
export class Photo {
@PrimaryGeneratedColumn()
id: number;
@Column({
length: 100
})
name: string;
@Column("text")
description: string;
@Column()
filename: string;
@Column("double")
views: number;
@Column()
isPublished: boolean;
}
由于您已经在使用 typeorm,因此您可以使用此处定义的类型:https://github.com/typeorm/typeorm/blob/master/docs/entities.md#column-types