ค้นหาเว็บไซต์

postgresql - วิธีการกำหนด varchar และ enum ใน TypeORM?


ฉันมีโครงสร้างฐานข้อมูลและจำเป็นต้องประกาศตัวแปรเป็น varchar, int, และ enum โดยใช้ TypeORM ใน TypeScript แต่ใน TypeScript ไม่มีชนิดข้อมูล varchar และ int ฉันควรประกาศอย่างไร?

โครงสร้างฐานข้อมูล

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;
}

คำตอบ #1

ประเภทของคอลัมน์ในฐานข้อมูลจะถูกสันนิษฐานจากประเภทของคุณสมบัติที่คุณใช้ เช่น number จะถูกแปลงเป็น integer, string เป็น varchar, boolean เป็น bool เป็นต้น แต่คุณสามารถใช้ประเภทคอลัมน์ใดก็ได้ที่ฐานข้อมูลของคุณรองรับโดยการระบุประเภทคอลัมน์ลงใน @Column decorator โดยตรง

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

บทความที่เกี่ยวข้อง