From 1a57f8e2e96274b4ae93b577a0c7fb2d999e46ba Mon Sep 17 00:00:00 2001 From: Collin Duncan <3679940+cgduncan7@users.noreply.github.com> Date: Thu, 29 Jun 2023 10:39:27 +0200 Subject: [PATCH] Correcting entity and adding migration --- data-source.ts | 2 +- .../1688027875660-recurringReservations.ts | 15 +++++++++++++++ src/recurringReservations/entity.ts | 7 +++---- 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 database/migrations/1688027875660-recurringReservations.ts diff --git a/data-source.ts b/data-source.ts index 3d70779..378a15b 100644 --- a/data-source.ts +++ b/data-source.ts @@ -5,7 +5,7 @@ export const AppDataSource = new DataSource({ type: 'sqlite', database: resolve('./db/autobaan_db'), logging: true, - entities: [resolve('./src/reservations/entity.ts')], + entities: [resolve('./src/**/entity.ts')], migrations: [resolve('./database/migrations/*.ts')], subscribers: [], }) diff --git a/database/migrations/1688027875660-recurringReservations.ts b/database/migrations/1688027875660-recurringReservations.ts new file mode 100644 index 0000000..e82cdad --- /dev/null +++ b/database/migrations/1688027875660-recurringReservations.ts @@ -0,0 +1,15 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class RecurringReservations1688027875660 implements MigrationInterface { + name = 'RecurringReservations1688027875660' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE "recurring_reservations" ("id" varchar PRIMARY KEY NOT NULL, "username" varchar(64) NOT NULL, "password" varchar(255) NOT NULL, "dayOfWeek" integer NOT NULL, "timeStart" varchar(6) NOT NULL, "timeEnd" varchar(6) NOT NULL, "opponentId" varchar(32) NOT NULL, "opponentName" varchar(255) NOT NULL)`, + ) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE "recurring_reservations"`) + } +} diff --git a/src/recurringReservations/entity.ts b/src/recurringReservations/entity.ts index 675ed9e..1bbe0cb 100644 --- a/src/recurringReservations/entity.ts +++ b/src/recurringReservations/entity.ts @@ -1,4 +1,5 @@ import { Exclude, Transform } from 'class-transformer' +import { IsEnum } from 'class-validator' import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm' import dayjs from '../common/dayjs' @@ -28,10 +29,8 @@ export class RecurringReservation { @Column('varchar', { length: 255, nullable: false }) password: string - @Column('enum', { - nullable: false, - enum: DayOfWeek, - }) + @Column('int', { nullable: false }) + @IsEnum(DayOfWeek) dayOfWeek: DayOfWeek @Column('varchar', { length: 6, nullable: false })