Hello! I am using a enum but running into a weird issue when trying to set the value as one of options in enum. The following is the sections from my schema:
Error:
Error: invalid input value for enum status: "expired"
Error: invalid input value for enum status: "expired"
Update for anyone who finds this in the future, I went ahead and found the following article which I used to modify the migration. All seems to be working now!
DO $$ BEGIN CREATE TYPE "discord_status" AS ENUM('pending', 'expired', 'accepted', 'rejected');EXCEPTION WHEN duplicate_object THEN null;END $$;--> statement-breakpointDO $$ BEGIN CREATE TYPE "invite_status" AS ENUM('pending', 'accepted', 'declined');EXCEPTION WHEN duplicate_object THEN null;END $$;--> statement-breakpointALTER TABLE "discord_verification" ALTER COLUMN "status" DROP DEFAULT;ALTER TABLE "discord_verification" ALTER COLUMN "status" SET DATA TYPE discord_status USING "status"::text::discord_status;--> statement-breakpointALTER TABLE "discord_verification" ALTER COLUMN "status" SET DEFAULT 'pending';ALTER TABLE "invites" ALTER COLUMN "status" DROP DEFAULT;ALTER TABLE "invites" ALTER COLUMN "status" SET DATA TYPE invite_status USING "status"::text::invite_status;ALTER TABLE "invites" ALTER COLUMN "status" SET DEFAULT 'pending';
DO $$ BEGIN CREATE TYPE "discord_status" AS ENUM('pending', 'expired', 'accepted', 'rejected');EXCEPTION WHEN duplicate_object THEN null;END $$;--> statement-breakpointDO $$ BEGIN CREATE TYPE "invite_status" AS ENUM('pending', 'accepted', 'declined');EXCEPTION WHEN duplicate_object THEN null;END $$;--> statement-breakpointALTER TABLE "discord_verification" ALTER COLUMN "status" DROP DEFAULT;ALTER TABLE "discord_verification" ALTER COLUMN "status" SET DATA TYPE discord_status USING "status"::text::discord_status;--> statement-breakpointALTER TABLE "discord_verification" ALTER COLUMN "status" SET DEFAULT 'pending';ALTER TABLE "invites" ALTER COLUMN "status" DROP DEFAULT;ALTER TABLE "invites" ALTER COLUMN "status" SET DATA TYPE invite_status USING "status"::text::invite_status;ALTER TABLE "invites" ALTER COLUMN "status" SET DEFAULT 'pending';