From efeebd2165127b084c2871651fb858ec5a5c6733 Mon Sep 17 00:00:00 2001
From: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com>
Date: Sat, 25 May 2019 09:11:24 +0900
Subject: [PATCH] Better migration for UserProfile1556746559567 (#4969)

---
 migration/1556746559567-UserProfile.ts | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/migration/1556746559567-UserProfile.ts b/migration/1556746559567-UserProfile.ts
index 719f8e1ae0..2dc7349cc1 100644
--- a/migration/1556746559567-UserProfile.ts
+++ b/migration/1556746559567-UserProfile.ts
@@ -3,21 +3,14 @@ import {MigrationInterface, QueryRunner} from "typeorm";
 export class UserProfile1556746559567 implements MigrationInterface {
 
     public async up(queryRunner: QueryRunner): Promise<any> {
-        await queryRunner.query(`UPDATE "user_profile" SET github = FALSE`);
-        await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubId"`);
-        await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "githubId" VARCHAR(64)`);
-        await queryRunner.query(`UPDATE "user_profile" SET discord = FALSE`);
-        await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordExpiresDate"`);
-        await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "discordExpiresDate" VARCHAR(64)`);
+        await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE VARCHAR(64) USING "githubId"::VARCHAR(64)`);
+        await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE VARCHAR(64) USING "discordExpiresDate"::VARCHAR(64)`);
     }
 
     public async down(queryRunner: QueryRunner): Promise<any> {
-        await queryRunner.query(`UPDATE "user_profile" SET github = FALSE`);
-        await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubId"`);
-        await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "githubId" INTEGER`);
-        await queryRunner.query(`UPDATE "user_profile" SET discord = FALSE`);
-        await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordExpiresDate"`);
-        await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "discordExpiresDate" INTEGER`);
+        await queryRunner.query(`UPDATE "user_profile" SET github = FALSE, discord = FALSE`);
+        await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE INTEGER USING NULL`);
+        await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE INTEGER USING NULL`);
     }
 
 }