import { MigrationInterface, QueryRunner } from 'typeorm';

export class AddIconDataToApps1774000000000 implements MigrationInterface {
  name = 'AddIconDataToApps1774000000000';

  public async up(queryRunner: QueryRunner): Promise<void> {
    const hasColumn = await queryRunner.query(`
      SELECT 1 FROM information_schema.columns
      WHERE table_schema = 'public' AND table_name = 'apps' AND column_name = 'icon_data'
    `);
    if (!hasColumn?.length) {
      await queryRunner.query(`
        ALTER TABLE "apps"
        ADD COLUMN "icon_data" text
      `);
    }
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`
      ALTER TABLE "apps" DROP COLUMN IF EXISTS "icon_data"
    `);
  }
}
