diff --git a/packages/server/src/entities/User.ts b/packages/server/src/entities/User.ts index be8294c..56b98af 100644 --- a/packages/server/src/entities/User.ts +++ b/packages/server/src/entities/User.ts @@ -6,6 +6,12 @@ import {UserEmail} from './UserEmail' @Entity() export class User extends BaseEntity { + @Column() + firstName!: string + + @Column() + lastName!: string + @OneToMany(type => UserEmail, email => email.user) emails!: UserEmail[] diff --git a/packages/server/src/migrations/1552899385211-user-first-last-name.ts b/packages/server/src/migrations/1552899385211-user-first-last-name.ts new file mode 100644 index 0000000..632b108 --- /dev/null +++ b/packages/server/src/migrations/1552899385211-user-first-last-name.ts @@ -0,0 +1,27 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class userFirstLastName1552899385211 implements MigrationInterface { + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX "IDX_55a938fda82579fd3ec29b3c28"`); + await queryRunner.query(`DROP INDEX "IDX_28c5d1d16da7908c97c9bc2f74"`); + await queryRunner.query(`CREATE TABLE "temporary_user" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "password" varchar(60), "createDate" datetime NOT NULL DEFAULT (datetime('now')), "updateDate" datetime NOT NULL DEFAULT (datetime('now')), "firstName" varchar NOT NULL, "lastName" varchar NOT NULL)`); + await queryRunner.query(`INSERT INTO "temporary_user"("id", "password", "createDate", "updateDate") SELECT "id", "password", "createDate", "updateDate" FROM "user"`); + await queryRunner.query(`DROP TABLE "user"`); + await queryRunner.query(`ALTER TABLE "temporary_user" RENAME TO "user"`); + await queryRunner.query(`CREATE INDEX "IDX_55a938fda82579fd3ec29b3c28" ON "team" ("userId") `); + await queryRunner.query(`CREATE INDEX "IDX_28c5d1d16da7908c97c9bc2f74" ON "session" ("expiredAt") `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX "IDX_28c5d1d16da7908c97c9bc2f74"`); + await queryRunner.query(`DROP INDEX "IDX_55a938fda82579fd3ec29b3c28"`); + await queryRunner.query(`ALTER TABLE "user" RENAME TO "temporary_user"`); + await queryRunner.query(`CREATE TABLE "user" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "password" varchar(60), "createDate" datetime NOT NULL DEFAULT (datetime('now')), "updateDate" datetime NOT NULL DEFAULT (datetime('now')))`); + await queryRunner.query(`INSERT INTO "user"("id", "password", "createDate", "updateDate") SELECT "id", "password", "createDate", "updateDate" FROM "temporary_user"`); + await queryRunner.query(`DROP TABLE "temporary_user"`); + await queryRunner.query(`CREATE INDEX "IDX_28c5d1d16da7908c97c9bc2f74" ON "session" ("expiredAt") `); + await queryRunner.query(`CREATE INDEX "IDX_55a938fda82579fd3ec29b3c28" ON "team" ("userId") `); + } + +}