diff --git a/migrations/1653392427820-AlterHeroTableAddEquippedItemColumn.ts b/migrations/1653392427820-AlterHeroTableAddEquippedItemColumn.ts new file mode 100644 index 0000000..6f00236 --- /dev/null +++ b/migrations/1653392427820-AlterHeroTableAddEquippedItemColumn.ts @@ -0,0 +1,14 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class AlterHeroTableAddEquippedItemColumn1653392427820 implements MigrationInterface { + name = 'AlterHeroTableAddEquippedItemColumn1653392427820' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "hero" ADD "equippedItem" character varying`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "hero" DROP COLUMN "equippedItem"`); + } + +} diff --git a/src/heroes/infrastructure/typeorm/hero.orm-entity.ts b/src/heroes/infrastructure/typeorm/hero.orm-entity.ts index 953045d..fcd1845 100644 --- a/src/heroes/infrastructure/typeorm/hero.orm-entity.ts +++ b/src/heroes/infrastructure/typeorm/hero.orm-entity.ts @@ -21,4 +21,7 @@ export class Hero extends BaseOrmEntity { @OneToMany(() => Item, (item: Item) => item.owner) items!: Item[] | null; + + @Column({ type: 'varchar', nullable: true }) + equippedItem?: Item['id'] | undefined; } diff --git a/src/heroes/infrastructure/typeorm/hero.orm-mapper.ts b/src/heroes/infrastructure/typeorm/hero.orm-mapper.ts index 43916e2..4d60595 100644 --- a/src/heroes/infrastructure/typeorm/hero.orm-mapper.ts +++ b/src/heroes/infrastructure/typeorm/hero.orm-mapper.ts @@ -10,5 +10,6 @@ export const mapHeroOrmEntityToHeroEntity = ( xp: +heroOrmEntity.xp, level: +heroOrmEntity.level, currentHp: +heroOrmEntity.currentHp, + equippedItem: heroOrmEntity.equippedItem, }; };