import { Migration } from '@mikro-orm/migrations';

export class Migration20260106054151 extends Migration {

  override async up(): Promise<void> {
    this.addSql(`alter table "restaurants" alter column "subscription_id" type varchar(255) using ("subscription_id"::varchar(255));`);
    this.addSql(`alter table "restaurants" alter column "subscription_id" drop not null;`);
    this.addSql(`alter table "restaurants" alter column "subscription_end_date" type timestamptz using ("subscription_end_date"::timestamptz);`);
    this.addSql(`alter table "restaurants" alter column "subscription_end_date" drop not null;`);
    this.addSql(`alter table "restaurants" alter column "subscription_start_date" type timestamptz using ("subscription_start_date"::timestamptz);`);
    this.addSql(`alter table "restaurants" alter column "subscription_start_date" drop not null;`);
  }

  override async down(): Promise<void> {
    this.addSql(`alter table "restaurants" alter column "subscription_id" type varchar(255) using ("subscription_id"::varchar(255));`);
    this.addSql(`alter table "restaurants" alter column "subscription_id" set not null;`);
    this.addSql(`alter table "restaurants" alter column "subscription_end_date" type timestamptz using ("subscription_end_date"::timestamptz);`);
    this.addSql(`alter table "restaurants" alter column "subscription_end_date" set not null;`);
    this.addSql(`alter table "restaurants" alter column "subscription_start_date" type timestamptz using ("subscription_start_date"::timestamptz);`);
    this.addSql(`alter table "restaurants" alter column "subscription_start_date" set not null;`);
  }

}
