Update emailVerified type conversion to set OAuth users (those with account records) as verified before converting timestamp to boolean.
44 lines
3.7 KiB
SQL
44 lines
3.7 KiB
SQL
ALTER TABLE "authenticator" DISABLE ROW LEVEL SECURITY;--> statement-breakpoint
|
|
DROP TABLE "authenticator" CASCADE;--> statement-breakpoint
|
|
ALTER TABLE "verificationToken" RENAME TO "verification";--> statement-breakpoint
|
|
ALTER TABLE "session" RENAME COLUMN "expires" TO "expiresAt";--> statement-breakpoint
|
|
ALTER TABLE "session" RENAME COLUMN "sessionToken" TO "token";--> statement-breakpoint
|
|
ALTER TABLE "verification" RENAME COLUMN "token" TO "value";--> statement-breakpoint
|
|
ALTER TABLE "verification" RENAME COLUMN "expires" TO "expiresAt";--> statement-breakpoint
|
|
ALTER TABLE "account" RENAME COLUMN "providerAccountId" TO "accountId";--> statement-breakpoint
|
|
ALTER TABLE "account" RENAME COLUMN "provider" TO "providerId";--> statement-breakpoint
|
|
ALTER TABLE "account" RENAME COLUMN "access_token" TO "accessToken";--> statement-breakpoint
|
|
ALTER TABLE "account" RENAME COLUMN "refresh_token" TO "refreshToken";--> statement-breakpoint
|
|
ALTER TABLE "account" RENAME COLUMN "expires_at" TO "accessTokenExpiresAt";--> statement-breakpoint
|
|
ALTER TABLE "account" RENAME COLUMN "id_token" TO "idToken";--> statement-breakpoint
|
|
ALTER TABLE "verification" DROP CONSTRAINT "verificationToken_identifier_token_pk";--> statement-breakpoint
|
|
ALTER TABLE "account" DROP CONSTRAINT "account_provider_providerAccountId_pk";--> statement-breakpoint
|
|
-- Mark OAuth users as verified before type conversion
|
|
UPDATE "user" SET "emailVerified" = NOW() WHERE "emailVerified" IS NULL AND id IN (SELECT "userId" FROM account);
|
|
ALTER TABLE "user" ALTER COLUMN "emailVerified" SET DATA TYPE boolean USING ("emailVerified" IS NOT NULL);--> statement-breakpoint
|
|
ALTER TABLE "session" DROP CONSTRAINT "session_pkey";--> statement-breakpoint
|
|
ALTER TABLE "session" ADD COLUMN "id" text PRIMARY KEY NOT NULL DEFAULT gen_random_uuid();--> statement-breakpoint
|
|
ALTER TABLE "session" ADD COLUMN "createdAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "session" ADD COLUMN "updatedAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "session" ADD COLUMN "ipAddress" text;--> statement-breakpoint
|
|
ALTER TABLE "session" ADD COLUMN "userAgent" text;--> statement-breakpoint
|
|
ALTER TABLE "user" ADD COLUMN "createdAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "user" ADD COLUMN "updatedAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "verification" ADD COLUMN "id" text PRIMARY KEY NOT NULL DEFAULT gen_random_uuid();--> statement-breakpoint
|
|
ALTER TABLE "verification" ADD COLUMN "createdAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "verification" ADD COLUMN "updatedAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "account" ADD COLUMN "id" text PRIMARY KEY NOT NULL DEFAULT gen_random_uuid();--> statement-breakpoint
|
|
ALTER TABLE "account" ADD COLUMN "refreshTokenExpiresAt" timestamp;--> statement-breakpoint
|
|
ALTER TABLE "account" ADD COLUMN "password" text;--> statement-breakpoint
|
|
ALTER TABLE "account" ADD COLUMN "createdAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "account" ADD COLUMN "updatedAt" timestamp DEFAULT now();--> statement-breakpoint
|
|
ALTER TABLE "account" DROP COLUMN "type";--> statement-breakpoint
|
|
ALTER TABLE "account" DROP COLUMN "token_type";--> statement-breakpoint
|
|
ALTER TABLE "account" DROP COLUMN "session_state";--> statement-breakpoint
|
|
ALTER TABLE "session" ADD CONSTRAINT "session_token_unique" UNIQUE("token");--> statement-breakpoint
|
|
ALTER TABLE "user" ADD CONSTRAINT "user_email_unique" UNIQUE("email");
|
|
-- Drop the uuid defaults so future inserts rely on app-provided values
|
|
ALTER TABLE "session" ALTER COLUMN "id" DROP DEFAULT;--> statement-breakpoint
|
|
ALTER TABLE "verification" ALTER COLUMN "id" DROP DEFAULT;--> statement-breakpoint
|
|
ALTER TABLE "account" ALTER COLUMN "id" DROP DEFAULT;
|