Typeorm存储日志系列和当前状态

时间:2019-10-15 04:08:43

标签: database postgresql typescript typeorm

我想这个问题很典型,但是从来没有遇到过这样的问题。因此,我有2个实体,状态为HubHub。 在客户端,我想接收Hub并且它是当前状态,或者Hub是它在不同情况下的状态日志。

以下是实体:

@Entity('hubs')
export class Hub {
    @PrimaryGeneratedColumn('uuid')
    id: string;

    @Column()
    port: number;

    @Column()
    limit: number;

    @Column()
    enabled: boolean;

    @Column()
    isOnline: boolean;

    @Column("simple-json")
    slots: { free: number, total: number, freePercent: number};

    @OneToMany(type => HubStatus, statusLog => statusLog.hub, { cascade: true })
    statusLog: Array<HubStatus>;

    @UpdateDateColumn()
    updatedAt: Date;
}

@Entity('hub-status')
export class HubStatus {

    @PrimaryGeneratedColumn()
    id: string;

    @Column()
    isOnline: boolean;

    @Column("simple-json")
    slots: { free: number, total: number, freePercent: number};

    @ManyToOne(type => Hub, hub => hub.statusLog)
    hub: Hub;

    @CreateDateColumn()
    createdAt: Date;
}

我应该复制

    @Column()
    isOnline: boolean;

    @Column("simple-json")
    slots: { free: number, total: number, freePercent: number};

进入Hub实体,例如,每次我获得{{时,都将最后状态存储在HubHubStatus中,或者从hub-status查询最后状态1}}实体并将其添加到我的DTO界面? DTO界面:

Hub

每个集线器的export interface IHub { id: string; ip: string; port: number; limit?: number; slots?: { free: number; total: number; freePercent: number; }, enabled: boolean; isOnline?:boolean; } 数组可以达到259200个日志实体

0 个答案:

没有答案