CREATE TABLE "feature_flag_access" ( "id" serial PRIMARY KEY NOT NULL, "flag_id" integer NOT NULL, "guild_id" bigint, "user_id" bigint, "role_id" bigint, "created_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "feature_flags" ( "id" serial PRIMARY KEY NOT NULL, "name" varchar(100) NOT NULL, "enabled" boolean DEFAULT false NOT NULL, "description" text, "created_at" timestamp with time zone DEFAULT now() NOT NULL, "updated_at" timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT "feature_flags_name_unique" UNIQUE("name") ); --> statement-breakpoint ALTER TABLE "items" ALTER COLUMN "rarity" SET DEFAULT 'C';--> statement-breakpoint ALTER TABLE "feature_flag_access" ADD CONSTRAINT "feature_flag_access_flag_id_feature_flags_id_fk" FOREIGN KEY ("flag_id") REFERENCES "public"."feature_flags"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint CREATE INDEX "idx_ffa_flag_id" ON "feature_flag_access" USING btree ("flag_id");--> statement-breakpoint CREATE INDEX "idx_ffa_guild_id" ON "feature_flag_access" USING btree ("guild_id");--> statement-breakpoint CREATE INDEX "idx_ffa_user_id" ON "feature_flag_access" USING btree ("user_id");--> statement-breakpoint CREATE INDEX "idx_ffa_role_id" ON "feature_flag_access" USING btree ("role_id");