1695284249461-add-designated-survivor.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { MigrationInterface, QueryRunner } from 'typeorm'
  2. export class AddDesignatedSurvivor1695284249461 implements MigrationInterface {
  3. name = 'AddDesignatedSurvivor1695284249461'
  4. public async up(queryRunner: QueryRunner): Promise<void> {
  5. await queryRunner.query('DROP INDEX "user_uuid_on_shared_vault_users"')
  6. await queryRunner.query('DROP INDEX "shared_vault_uuid_on_shared_vault_users"')
  7. await queryRunner.query(
  8. 'CREATE TABLE "temporary_shared_vault_users" ("uuid" varchar PRIMARY KEY NOT NULL, "shared_vault_uuid" varchar(36) NOT NULL, "user_uuid" varchar(36) NOT NULL, "permission" varchar(24) NOT NULL, "created_at_timestamp" bigint NOT NULL, "updated_at_timestamp" bigint NOT NULL, "is_designated_survivor" boolean NOT NULL DEFAULT (0))',
  9. )
  10. await queryRunner.query(
  11. 'INSERT INTO "temporary_shared_vault_users"("uuid", "shared_vault_uuid", "user_uuid", "permission", "created_at_timestamp", "updated_at_timestamp") SELECT "uuid", "shared_vault_uuid", "user_uuid", "permission", "created_at_timestamp", "updated_at_timestamp" FROM "shared_vault_users"',
  12. )
  13. await queryRunner.query('DROP TABLE "shared_vault_users"')
  14. await queryRunner.query('ALTER TABLE "temporary_shared_vault_users" RENAME TO "shared_vault_users"')
  15. await queryRunner.query('CREATE INDEX "user_uuid_on_shared_vault_users" ON "shared_vault_users" ("user_uuid") ')
  16. await queryRunner.query(
  17. 'CREATE INDEX "shared_vault_uuid_on_shared_vault_users" ON "shared_vault_users" ("shared_vault_uuid") ',
  18. )
  19. }
  20. public async down(queryRunner: QueryRunner): Promise<void> {
  21. await queryRunner.query('DROP INDEX "shared_vault_uuid_on_shared_vault_users"')
  22. await queryRunner.query('DROP INDEX "user_uuid_on_shared_vault_users"')
  23. await queryRunner.query('ALTER TABLE "shared_vault_users" RENAME TO "temporary_shared_vault_users"')
  24. await queryRunner.query(
  25. 'CREATE TABLE "shared_vault_users" ("uuid" varchar PRIMARY KEY NOT NULL, "shared_vault_uuid" varchar(36) NOT NULL, "user_uuid" varchar(36) NOT NULL, "permission" varchar(24) NOT NULL, "created_at_timestamp" bigint NOT NULL, "updated_at_timestamp" bigint NOT NULL)',
  26. )
  27. await queryRunner.query(
  28. 'INSERT INTO "shared_vault_users"("uuid", "shared_vault_uuid", "user_uuid", "permission", "created_at_timestamp", "updated_at_timestamp") SELECT "uuid", "shared_vault_uuid", "user_uuid", "permission", "created_at_timestamp", "updated_at_timestamp" FROM "temporary_shared_vault_users"',
  29. )
  30. await queryRunner.query('DROP TABLE "temporary_shared_vault_users"')
  31. await queryRunner.query(
  32. 'CREATE INDEX "shared_vault_uuid_on_shared_vault_users" ON "shared_vault_users" ("shared_vault_uuid") ',
  33. )
  34. await queryRunner.query('CREATE INDEX "user_uuid_on_shared_vault_users" ON "shared_vault_users" ("user_uuid") ')
  35. }
  36. }