import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1728998492311 implements MigrationInterface {
    name = 'Migrations1728998492311'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TYPE "public"."social_medias_social_type_enum" AS ENUM('youtube', 'facebook', 'instagram', 'tiktok')`);
        await queryRunner.query(`CREATE TABLE "social_medias" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "social_id" character varying NOT NULL DEFAULT '', "social_type" "public"."social_medias_social_type_enum" NOT NULL DEFAULT 'youtube', "social_access_token" text NOT NULL DEFAULT '', "social_user_name" character varying NOT NULL DEFAULT '', "created_at" TIMESTAMP(0) NOT NULL DEFAULT now(), "updated_at" TIMESTAMP(0) NOT NULL DEFAULT now(), "deleted_at" TIMESTAMP(0), "users" uuid, CONSTRAINT "PK_f2f504aa5f1f4b2378057984362" PRIMARY KEY ("id"))`);
        await queryRunner.query(`ALTER TABLE "social_medias" ADD CONSTRAINT "FK_40cd1719e6be277d60a22e146f8" FOREIGN KEY ("users") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "social_medias" DROP CONSTRAINT "FK_40cd1719e6be277d60a22e146f8"`);
        await queryRunner.query(`DROP TABLE "social_medias"`);
        await queryRunner.query(`DROP TYPE "public"."social_medias_social_type_enum"`);
    }

}
