fix: on delete queue item
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

pull/115/head 20.2.1-alpha.1
shancheas 2024-10-22 14:36:14 +07:00
parent 4f0b378ec6
commit d6c02ac29f
4 changed files with 27 additions and 9 deletions

View File

@ -0,0 +1,25 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class ItemQueueOnDelete1729582398827 implements MigrationInterface {
name = 'ItemQueueOnDelete1729582398827';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "items" DROP CONSTRAINT "FK_2cbbeb03e176addcf60d65f7c9c"`,
);
await queryRunner.query(
`ALTER TABLE "items" ADD CONSTRAINT "FK_2cbbeb03e176addcf60d65f7c9c" FOREIGN KEY ("item_queue_id") REFERENCES "item_queues"("id") ON DELETE SET NULL ON UPDATE CASCADE`,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "items" DROP CONSTRAINT "FK_2cbbeb03e176addcf60d65f7c9c"`,
);
await queryRunner.query(
`ALTER TABLE "items" ADD CONSTRAINT "FK_2cbbeb03e176addcf60d65f7c9c" FOREIGN KEY ("item_queue_id") REFERENCES "item_queues"("id") ON DELETE CASCADE ON UPDATE CASCADE`,
);
}
}

View File

@ -21,7 +21,6 @@ export class ItemQueueModel
item_type: ItemType; item_type: ItemType;
@OneToMany(() => ItemModel, (model) => model.item_queue, { @OneToMany(() => ItemModel, (model) => model.item_queue, {
onDelete: 'CASCADE',
onUpdate: 'CASCADE', onUpdate: 'CASCADE',
}) })
items: ItemModel[]; items: ItemModel[];

View File

@ -26,13 +26,7 @@ export class DeleteItemQueueManager extends BaseDeleteManager<ItemQueueEntity> {
} }
get validateRelations(): validateRelations[] { get validateRelations(): validateRelations[] {
return [ return [];
{
relation: 'items',
message:
'Gagal! tidak dapat mengubah tipe item karena sudah berelasi dengan item',
},
];
} }
get entityTarget(): any { get entityTarget(): any {

View File

@ -88,7 +88,7 @@ export class ItemModel
@ManyToOne(() => ItemQueueModel, (model) => model.items, { @ManyToOne(() => ItemQueueModel, (model) => model.items, {
onUpdate: 'CASCADE', onUpdate: 'CASCADE',
onDelete: 'CASCADE', onDelete: 'SET NULL',
}) })
@JoinColumn({ name: 'item_queue_id' }) @JoinColumn({ name: 'item_queue_id' })
item_queue: ItemQueueModel; item_queue: ItemQueueModel;