import { MigrationInterface, QueryRunner } from "typeorm";
export class MoreReadStateFields1771825341528 implements MigrationInterface {
name = "MoreReadStateFields1771825341528";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "read_states" DROP COLUMN "public_ack"`);
await queryRunner.query(`ALTER TABLE "read_states" ADD "last_acked_id" character varying`);
await queryRunner.query(`ALTER TABLE "read_states" ADD "badge_count" integer NOT NULL DEFAULT '0'`);
await queryRunner.query(`ALTER TABLE "read_states" ADD "read_state_type" integer NOT NULL DEFAULT '0'`);
await queryRunner.query(`ALTER TABLE "read_states" ADD "flags" integer NOT NULL DEFAULT '0'`);
await queryRunner.query(`ALTER TABLE "read_states" ALTER COLUMN "mention_count" SET DEFAULT '0'`);
await queryRunner.query(`UPDATE "read_states" SET "mention_count" = 0 WHERE "mention_count" IS NULL`);
await queryRunner.query(`ALTER TABLE "read_states" ALTER COLUMN "mention_count" SET NOT NULL`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "read_states" ALTER COLUMN "mention_count" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "read_states" ALTER COLUMN "mention_count" DROP DEFAULT`);
await queryRunner.query(`ALTER TABLE "read_states" DROP COLUMN "flags"`);
await queryRunner.query(`ALTER TABLE "read_states" DROP COLUMN "read_state_type"`);
await queryRunner.query(`ALTER TABLE "read_states" DROP COLUMN "badge_count"`);
await queryRunner.query(`ALTER TABLE "read_states" DROP COLUMN "last_acked_id"`);
await queryRunner.query(`ALTER TABLE "read_states" ADD "public_ack" character varying`);
}
}