import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1767091091326 implements MigrationInterface {
    name = 'Migrations1767091091326'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`CREATE TABLE "keyword_translations" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "language_code" character varying(10) NOT NULL DEFAULT 'en', "keyword" 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), "keyword_id" uuid, CONSTRAINT "PK_1f5ea3ebc6891c79dcf19730b78" PRIMARY KEY ("id"))`);
        await queryRunner.query(`CREATE INDEX "IDX_653f7d82f1493e09c1c0f9dbc6" ON "keyword_translations" ("language_code") `);
        await queryRunner.query(`CREATE INDEX "IDX_cf1518b5359a9571eabb58acfc" ON "keyword_translations" ("keyword") `);
        await queryRunner.query(`ALTER TABLE "keyword_translations" ADD CONSTRAINT "FK_66a3f6f25fed90039ca84ae286e" FOREIGN KEY ("keyword_id") REFERENCES "keywords"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "keyword_translations" DROP CONSTRAINT "FK_66a3f6f25fed90039ca84ae286e"`);
        await queryRunner.query(`DROP INDEX "public"."IDX_cf1518b5359a9571eabb58acfc"`);
        await queryRunner.query(`DROP INDEX "public"."IDX_653f7d82f1493e09c1c0f9dbc6"`);
        await queryRunner.query(`DROP TABLE "keyword_translations"`);
    }

}
