当我 运行 命令时,TypeORM 正在复制我的 post | CQRS

TypeORM is duplicating my post when I run the command | CQRS

我在 nestJs 中使用 CQRS 和 TypeORM 来创建用户、订单和产品应用程序。

我在 typeorm 中有这些实体,当我 运行 创建用户的命令时,我收到电子邮件重复的错误,当检查数据库时发现有 2 个用户具有不同的 ID 但是其中一个是空的。我不知道发生了什么。

用户实体:

@Entity()
export class UserEntity {
    @PrimaryGeneratedColumn('uuid')
    id!: string;

    @Column({unique: true})
    email!: string;

    @Column()
    password!: string;

    @Column()
    name!: string;

    @Column()
    role!: string;
    
    @OneToMany(type => OrderEntity, order => order.userId)
    orders?: OrderEntity[] | any;

    @OneToMany(type => ItemEntity, item => item.userId)
    items?: ItemEntity[] | any;
}

订单实体:

@Entity()
export class OrderEntity {
    @PrimaryGeneratedColumn('uuid')
    id!: string;

    @Column()
    buyerName!: string;

    @Column()
    buyerPhone!: number;

    @Column()
    buyerEmail!: string;

    @Column()
    shippingMethod!: string;

    @Column()
    shippingAddress!: string;

    @Column()
    shippingCity!: string;

    @Column()
    shippingRegion!: string;

    @Column()
    shippingCountry!: string;

    @Column({ type: 'datetime'})
    creationDate!: Date;

    @Column({ type: 'datetime'})
    pack_promise_min!: Date;

    @Column({ type: 'datetime'})
    pack_promise_max!: Date;

    @Column({ type: 'datetime'})
    ship_promise_min!: Date;

    @Column({ type: 'datetime'})
    ship_promise_max!: Date;

    @Column({ type: 'datetime'})
    delivery_promise_min!: Date;

    @Column({ type: 'datetime'})
    delivery_promise_max!: Date;

    @Column({ type: 'datetime'})
    ready_pickup_promise_min!: Date;

    @Column({ type: 'datetime'})
    ready_pickup_promise_max!: Date;

    @Column()
    status!: string;

    @ManyToOne(type => UserEntity, user => user.orders)
    userId: UserEntity | any;

    @ManyToMany(type => ItemEntity, item => item.id, { cascade: true })
    @JoinTable({ name: 'orders_items'})
    items: ItemEntity[];
}

物品实体:

@Entity()
export class ItemEntity {
    @PrimaryGeneratedColumn('uuid')
    id!: string;

    @Column()
    name!: string;

    @Column()
    qty!: string;

    @Column()
    weight!: number;

    @ManyToOne(type => UserEntity, user => user.items)
    userId!: UserEntity | any;

    @ManyToMany((type => OrderEntity), order => order.id, {cascade: true})
    orders?: OrderEntity[]
}

自从我宣布关系以来,这一切都发生了,我认为问题就在那里。

这发生在数据库中:

答案太蠢了,像我xD。我在控制器上做了一个 console.log ,只是为了查看一些信息,并且命令自己执行了两次。对不起,我错了。