comments/server: Add migration for User

This commit is contained in:
Jerko Steiner 2019-03-18 14:00:29 +05:00
parent bc979c51c7
commit 49fc73a1c2
2 changed files with 33 additions and 0 deletions

View File

@ -6,6 +6,12 @@ import {UserEmail} from './UserEmail'
@Entity() @Entity()
export class User extends BaseEntity { export class User extends BaseEntity {
@Column()
firstName!: string
@Column()
lastName!: string
@OneToMany(type => UserEmail, email => email.user) @OneToMany(type => UserEmail, email => email.user)
emails!: UserEmail[] emails!: UserEmail[]

View File

@ -0,0 +1,27 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class userFirstLastName1552899385211 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
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<any> {
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") `);
}
}