import { MigrationInterface, QueryRunner } from 'typeorm';

export class deleteLicensePlansTable1708448758878
  implements MigrationInterface
{
  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`
        ALTER TABLE project_licenses DROP COLUMN license_plan_id;
        ALTER TABLE project_licenses DROP COLUMN payment_info;
        ALTER TABLE project_licenses DROP COLUMN comment;
        ALTER TABLE project_licenses ADD COLUMN license_type_id INT;
        DROP TABLE IF EXISTS license_plans;
    `);
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`
        ALTER TABLE project_licenses DROP COLUMN license_type_id;
        ALTER TABLE project_licenses ADD COLUMN license_plan_id INT;
        ALTER TABLE project_licenses ADD COLUMN payment_info JSONB;
        ALTER TABLE project_licenses ADD COLUMN comment text;
        CREATE TABLE IF NOT EXISTS license_plans(
            id serial PRIMARY KEY,
            name varchar NOT NULL,
            title varchar NOT NULL,
            license_type_id INT NOT NULL REFERENCES license_types(id) ON UPDATE CASCADE ON DELETE RESTRICT,
            month_num integer,
            shop_info JSONB,
            price_rub decimal(14,2),
            price_usd decimal(14,2),
            index integer
        );
    `);
  }
}
