TypeORM deletes record on entity change

Viewed 23

I'm using NestJs + TypeORM with synchronise enabled.

I have 2 entities:

item

import { Entity } from 'typeorm';
import { BaseEntityUUID } from '../../common/entities/base-string.entity';

@Entity('items')
export class ItemEntity extends BaseEntityUUID {
}

and inventory

import { Column, Entity, ManyToOne } from 'typeorm';
import { BaseEntity } from '../../common/entities/base.entity';
import { ItemEntity } from '../../items/entities/item.entity';
import { GameUserEntity } from './game-user.entity';

@Entity('inventory-items')
export class InventoryItemEntity extends BaseEntity {
  @Column()
  gameUserId: string;

  @Column()
  itemId: string;

  @ManyToOne(() => ItemEntity, {onUpdate: 'CASCADE', onDelete: 'CASCADE'})
  item?: ItemEntity;

  @Column()
  count: number;

  @ManyToOne(() => GameUserEntity, user => user.id, {onUpdate: 'CASCADE', onDelete: 'CASCADE'})
  gameUser?: GameUserEntity;
}

I need to add new column to Item, so i modify ItemEntity like that:

import { Column, Entity } from 'typeorm';
import { BaseEntityUUID } from '../../common/entities/base-string.entity';

@Entity('items')
export class ItemEntity extends BaseEntityUUID {
  @Column({ default: 0 })
  levelRequired: number;
}

, but all records from Inventory are deleted after that. All records from Items are updated with levelRequired: 0, but why all related records from Inventory are erased?

0 Answers
Related