import { MigrationInterface, QueryRunner } from "typeorm";

export class ModifyCityBlog1744543383270 implements MigrationInterface {
    name = 'ModifyCityBlog1744543383270'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE \`city_block_ipv4\` ADD \`end_ip\` bigint UNSIGNED NULL`);
        await queryRunner.query(`ALTER TABLE \`city_block_ipv6\` ADD \`end_ip\` varbinary(16) NULL`);
        await queryRunner.query(`ALTER TABLE \`city_block_ipv4\` CHANGE \`is_anycast\` \`is_anycast\` tinyint NOT NULL DEFAULT 0`);
        await queryRunner.query(`CREATE INDEX \`IDX_fdc0c9c096c31a128b45cabc46\` ON \`city_block_ipv4\` (\`end_ip\`)`);
        await queryRunner.query(`CREATE INDEX \`IDX_17829419296cb2134c8bcc52b7\` ON \`city_block_ipv6\` (\`end_ip\`)`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`DROP INDEX \`IDX_17829419296cb2134c8bcc52b7\` ON \`city_block_ipv6\``);
        await queryRunner.query(`DROP INDEX \`IDX_fdc0c9c096c31a128b45cabc46\` ON \`city_block_ipv4\``);
        await queryRunner.query(`ALTER TABLE \`city_block_ipv4\` CHANGE \`is_anycast\` \`is_anycast\` tinyint NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE \`city_block_ipv6\` DROP COLUMN \`end_ip\``);
        await queryRunner.query(`ALTER TABLE \`city_block_ipv4\` DROP COLUMN \`end_ip\``);
    }

}
