import { MigrateDownArgs, MigrateUpArgs, sql } from '@payloadcms/db-postgres'

export async function up({ db }: MigrateUpArgs): Promise<void> {
  await db.execute(sql`
    ALTER TABLE "scripts"
      ADD COLUMN IF NOT EXISTS "snippets_head" varchar,
      ADD COLUMN IF NOT EXISTS "snippets_body_top" varchar,
      ADD COLUMN IF NOT EXISTS "snippets_body_bottom" varchar;

    ALTER TABLE "pages"
      ADD COLUMN IF NOT EXISTS "meta_snippets_head" varchar,
      ADD COLUMN IF NOT EXISTS "meta_snippets_body_top" varchar,
      ADD COLUMN IF NOT EXISTS "meta_snippets_body_bottom" varchar;

    ALTER TABLE "_pages_v"
      ADD COLUMN IF NOT EXISTS "version_meta_snippets_head" varchar,
      ADD COLUMN IF NOT EXISTS "version_meta_snippets_body_top" varchar,
      ADD COLUMN IF NOT EXISTS "version_meta_snippets_body_bottom" varchar;
  `)
}

export async function down({ db }: MigrateDownArgs): Promise<void> {
  await db.execute(sql`
    ALTER TABLE "_pages_v"
      DROP COLUMN IF EXISTS "version_meta_snippets_head",
      DROP COLUMN IF EXISTS "version_meta_snippets_body_top",
      DROP COLUMN IF EXISTS "version_meta_snippets_body_bottom";

    ALTER TABLE "pages"
      DROP COLUMN IF EXISTS "meta_snippets_head",
      DROP COLUMN IF EXISTS "meta_snippets_body_top",
      DROP COLUMN IF EXISTS "meta_snippets_body_bottom";

    ALTER TABLE "scripts"
      DROP COLUMN IF EXISTS "snippets_head",
      DROP COLUMN IF EXISTS "snippets_body_top",
      DROP COLUMN IF EXISTS "snippets_body_bottom";
  `)
}
