mirror of
https://github.com/spacebarchat/server.git
synced 2026-05-10 19:17:03 +00:00
460 lines
15 KiB
TypeScript
460 lines
15 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
|
|
export class CodeCleanup41660260539853 implements MigrationInterface {
|
|
name = 'CodeCleanup41660260539853'
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
CREATE TABLE "temporary_users" (
|
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
"username" varchar NOT NULL,
|
|
"discriminator" varchar NOT NULL,
|
|
"avatar" varchar,
|
|
"accent_color" integer,
|
|
"banner" varchar,
|
|
"phone" varchar,
|
|
"desktop" boolean NOT NULL,
|
|
"mobile" boolean NOT NULL,
|
|
"premium" boolean NOT NULL,
|
|
"premium_type" integer NOT NULL,
|
|
"bot" boolean NOT NULL,
|
|
"bio" varchar NOT NULL,
|
|
"system" boolean NOT NULL,
|
|
"nsfw_allowed" boolean NOT NULL,
|
|
"mfa_enabled" boolean NOT NULL,
|
|
"totp_secret" varchar,
|
|
"totp_last_ticket" varchar,
|
|
"created_at" datetime NOT NULL,
|
|
"premium_since" datetime,
|
|
"verified" boolean NOT NULL,
|
|
"disabled" boolean NOT NULL,
|
|
"deleted" boolean NOT NULL,
|
|
"email" varchar,
|
|
"flags" varchar NOT NULL,
|
|
"public_flags" integer NOT NULL,
|
|
"rights" bigint NOT NULL,
|
|
"data" text NOT NULL,
|
|
"fingerprints" text NOT NULL,
|
|
"extended_settings" text NOT NULL,
|
|
"notes" text NOT NULL,
|
|
"settingsId" varchar,
|
|
CONSTRAINT "UQ_b1dd13b6ed980004a795ca184a6" UNIQUE ("settingsId")
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
INSERT INTO "temporary_users"(
|
|
"id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes"
|
|
)
|
|
SELECT "id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes"
|
|
FROM "users"
|
|
`);
|
|
await queryRunner.query(`
|
|
DROP TABLE "users"
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE "temporary_users"
|
|
RENAME TO "users"
|
|
`);
|
|
await queryRunner.query(`
|
|
CREATE TABLE "temporary_users" (
|
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
"username" varchar NOT NULL,
|
|
"discriminator" varchar NOT NULL,
|
|
"avatar" varchar,
|
|
"accent_color" integer,
|
|
"banner" varchar,
|
|
"phone" varchar,
|
|
"desktop" boolean NOT NULL,
|
|
"mobile" boolean NOT NULL,
|
|
"premium" boolean NOT NULL,
|
|
"premium_type" integer NOT NULL,
|
|
"bot" boolean NOT NULL,
|
|
"bio" varchar NOT NULL,
|
|
"system" boolean NOT NULL,
|
|
"nsfw_allowed" boolean NOT NULL,
|
|
"mfa_enabled" boolean NOT NULL,
|
|
"totp_secret" varchar,
|
|
"totp_last_ticket" varchar,
|
|
"created_at" datetime NOT NULL,
|
|
"premium_since" datetime,
|
|
"verified" boolean NOT NULL,
|
|
"disabled" boolean NOT NULL,
|
|
"deleted" boolean NOT NULL,
|
|
"email" varchar,
|
|
"flags" varchar NOT NULL,
|
|
"public_flags" integer NOT NULL,
|
|
"rights" bigint NOT NULL,
|
|
"data" text NOT NULL,
|
|
"fingerprints" text NOT NULL,
|
|
"extended_settings" text NOT NULL,
|
|
"notes" text NOT NULL,
|
|
"settingsId" varchar,
|
|
CONSTRAINT "UQ_b1dd13b6ed980004a795ca184a6" UNIQUE ("settingsId"),
|
|
CONSTRAINT "FK_76ba283779c8441fd5ff819c8cf" FOREIGN KEY ("settingsId") REFERENCES "user_settings" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
INSERT INTO "temporary_users"(
|
|
"id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes",
|
|
"settingsId"
|
|
)
|
|
SELECT "id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes",
|
|
"settingsId"
|
|
FROM "users"
|
|
`);
|
|
await queryRunner.query(`
|
|
DROP TABLE "users"
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE "temporary_users"
|
|
RENAME TO "users"
|
|
`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE "users"
|
|
RENAME TO "temporary_users"
|
|
`);
|
|
await queryRunner.query(`
|
|
CREATE TABLE "users" (
|
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
"username" varchar NOT NULL,
|
|
"discriminator" varchar NOT NULL,
|
|
"avatar" varchar,
|
|
"accent_color" integer,
|
|
"banner" varchar,
|
|
"phone" varchar,
|
|
"desktop" boolean NOT NULL,
|
|
"mobile" boolean NOT NULL,
|
|
"premium" boolean NOT NULL,
|
|
"premium_type" integer NOT NULL,
|
|
"bot" boolean NOT NULL,
|
|
"bio" varchar NOT NULL,
|
|
"system" boolean NOT NULL,
|
|
"nsfw_allowed" boolean NOT NULL,
|
|
"mfa_enabled" boolean NOT NULL,
|
|
"totp_secret" varchar,
|
|
"totp_last_ticket" varchar,
|
|
"created_at" datetime NOT NULL,
|
|
"premium_since" datetime,
|
|
"verified" boolean NOT NULL,
|
|
"disabled" boolean NOT NULL,
|
|
"deleted" boolean NOT NULL,
|
|
"email" varchar,
|
|
"flags" varchar NOT NULL,
|
|
"public_flags" integer NOT NULL,
|
|
"rights" bigint NOT NULL,
|
|
"data" text NOT NULL,
|
|
"fingerprints" text NOT NULL,
|
|
"extended_settings" text NOT NULL,
|
|
"notes" text NOT NULL,
|
|
"settingsId" varchar,
|
|
CONSTRAINT "UQ_b1dd13b6ed980004a795ca184a6" UNIQUE ("settingsId")
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
INSERT INTO "users"(
|
|
"id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes",
|
|
"settingsId"
|
|
)
|
|
SELECT "id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes",
|
|
"settingsId"
|
|
FROM "temporary_users"
|
|
`);
|
|
await queryRunner.query(`
|
|
DROP TABLE "temporary_users"
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE "users"
|
|
RENAME TO "temporary_users"
|
|
`);
|
|
await queryRunner.query(`
|
|
CREATE TABLE "users" (
|
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
"username" varchar NOT NULL,
|
|
"discriminator" varchar NOT NULL,
|
|
"avatar" varchar,
|
|
"accent_color" integer,
|
|
"banner" varchar,
|
|
"phone" varchar,
|
|
"desktop" boolean NOT NULL,
|
|
"mobile" boolean NOT NULL,
|
|
"premium" boolean NOT NULL,
|
|
"premium_type" integer NOT NULL,
|
|
"bot" boolean NOT NULL,
|
|
"bio" varchar NOT NULL,
|
|
"system" boolean NOT NULL,
|
|
"nsfw_allowed" boolean NOT NULL,
|
|
"mfa_enabled" boolean NOT NULL,
|
|
"totp_secret" varchar,
|
|
"totp_last_ticket" varchar,
|
|
"created_at" datetime NOT NULL,
|
|
"premium_since" datetime,
|
|
"verified" boolean NOT NULL,
|
|
"disabled" boolean NOT NULL,
|
|
"deleted" boolean NOT NULL,
|
|
"email" varchar,
|
|
"flags" varchar NOT NULL,
|
|
"public_flags" integer NOT NULL,
|
|
"rights" bigint NOT NULL,
|
|
"data" text NOT NULL,
|
|
"fingerprints" text NOT NULL,
|
|
"extended_settings" text NOT NULL,
|
|
"notes" text NOT NULL
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
INSERT INTO "users"(
|
|
"id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes"
|
|
)
|
|
SELECT "id",
|
|
"username",
|
|
"discriminator",
|
|
"avatar",
|
|
"accent_color",
|
|
"banner",
|
|
"phone",
|
|
"desktop",
|
|
"mobile",
|
|
"premium",
|
|
"premium_type",
|
|
"bot",
|
|
"bio",
|
|
"system",
|
|
"nsfw_allowed",
|
|
"mfa_enabled",
|
|
"totp_secret",
|
|
"totp_last_ticket",
|
|
"created_at",
|
|
"premium_since",
|
|
"verified",
|
|
"disabled",
|
|
"deleted",
|
|
"email",
|
|
"flags",
|
|
"public_flags",
|
|
"rights",
|
|
"data",
|
|
"fingerprints",
|
|
"extended_settings",
|
|
"notes"
|
|
FROM "temporary_users"
|
|
`);
|
|
await queryRunner.query(`
|
|
DROP TABLE "temporary_users"
|
|
`);
|
|
}
|
|
|
|
}
|