typeorm删除实体更改的记录
我正在使用Nestjs + typeorm并启用同步。
我有2个实体:
项目
import { Entity } from 'typeorm';
import { BaseEntityUUID } from '../../common/entities/base-string.entity';
@Entity('items')
export class ItemEntity extends BaseEntityUUID {
}
和库存
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;
}
我需要在项目中添加新列,因此我将其修改为这样:
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;
}
,但是此后删除了库存中的所有记录。所有项目中的所有记录均以LevelQuired:0更新,但是为什么删除了库存中的所有相关记录?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论