Fix auth migration for legacy column naming

This commit is contained in:
2026-02-26 14:24:22 -05:00
parent 74fee52c4e
commit d1df80dfc2

View File

@@ -78,6 +78,109 @@ CREATE TABLE IF NOT EXISTS "verification" (
"updatedAt" timestamp with time zone NOT NULL "updatedAt" timestamp with time zone NOT NULL
); );
--> statement-breakpoint --> statement-breakpoint
DO $$
DECLARE
m record;
BEGIN
FOR m IN (
SELECT * FROM (
VALUES
('user', 'email_verified', 'emailVerified'),
('user', 'emailverified', 'emailVerified'),
('user', 'created_at', 'createdAt'),
('user', 'createdat', 'createdAt'),
('user', 'updated_at', 'updatedAt'),
('user', 'updatedat', 'updatedAt'),
('user', 'ban_reason', 'banReason'),
('user', 'banreason', 'banReason'),
('user', 'ban_expires', 'banExpires'),
('user', 'banexpires', 'banExpires'),
('organization', 'created_at', 'createdAt'),
('organization', 'createdat', 'createdAt'),
('session', 'expires_at', 'expiresAt'),
('session', 'expiresat', 'expiresAt'),
('session', 'created_at', 'createdAt'),
('session', 'createdat', 'createdAt'),
('session', 'updated_at', 'updatedAt'),
('session', 'updatedat', 'updatedAt'),
('session', 'ip_address', 'ipAddress'),
('session', 'ipaddress', 'ipAddress'),
('session', 'user_agent', 'userAgent'),
('session', 'useragent', 'userAgent'),
('session', 'user_id', 'userId'),
('session', 'userid', 'userId'),
('session', 'impersonated_by', 'impersonatedBy'),
('session', 'impersonatedby', 'impersonatedBy'),
('session', 'active_organization_id', 'activeOrganizationId'),
('session', 'activeorganizationid', 'activeOrganizationId'),
('account', 'account_id', 'accountId'),
('account', 'accountid', 'accountId'),
('account', 'provider_id', 'providerId'),
('account', 'providerid', 'providerId'),
('account', 'user_id', 'userId'),
('account', 'userid', 'userId'),
('account', 'access_token', 'accessToken'),
('account', 'accesstoken', 'accessToken'),
('account', 'refresh_token', 'refreshToken'),
('account', 'refreshtoken', 'refreshToken'),
('account', 'id_token', 'idToken'),
('account', 'idtoken', 'idToken'),
('account', 'access_token_expires_at', 'accessTokenExpiresAt'),
('account', 'accesstokenexpiresat', 'accessTokenExpiresAt'),
('account', 'refresh_token_expires_at', 'refreshTokenExpiresAt'),
('account', 'refreshtokenexpiresat', 'refreshTokenExpiresAt'),
('account', 'created_at', 'createdAt'),
('account', 'createdat', 'createdAt'),
('account', 'updated_at', 'updatedAt'),
('account', 'updatedat', 'updatedAt'),
('verification', 'expires_at', 'expiresAt'),
('verification', 'expiresat', 'expiresAt'),
('verification', 'created_at', 'createdAt'),
('verification', 'createdat', 'createdAt'),
('verification', 'updated_at', 'updatedAt'),
('verification', 'updatedat', 'updatedAt'),
('member', 'organization_id', 'organizationId'),
('member', 'organizationid', 'organizationId'),
('member', 'user_id', 'userId'),
('member', 'userid', 'userId'),
('member', 'created_at', 'createdAt'),
('member', 'createdat', 'createdAt'),
('invitation', 'organization_id', 'organizationId'),
('invitation', 'organizationid', 'organizationId'),
('invitation', 'expires_at', 'expiresAt'),
('invitation', 'expiresat', 'expiresAt'),
('invitation', 'created_at', 'createdAt'),
('invitation', 'createdat', 'createdAt'),
('invitation', 'inviter_id', 'inviterId'),
('invitation', 'inviterid', 'inviterId')
) AS rename_map(table_name, old_column, new_column)
)
LOOP
IF EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = m.table_name
AND column_name = m.old_column
)
AND NOT EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = m.table_name
AND column_name = m.new_column
) THEN
EXECUTE format(
'ALTER TABLE %I.%I RENAME COLUMN %I TO %I',
'public',
m.table_name,
m.old_column,
m.new_column
);
END IF;
END LOOP;
END $$;
--> statement-breakpoint
DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'account_userId_user_id_fk') THEN ALTER TABLE "account" ADD CONSTRAINT "account_userId_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action; END IF; END $$;--> statement-breakpoint DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'account_userId_user_id_fk') THEN ALTER TABLE "account" ADD CONSTRAINT "account_userId_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action; END IF; END $$;--> statement-breakpoint
DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'invitation_organizationId_organization_id_fk') THEN ALTER TABLE "invitation" ADD CONSTRAINT "invitation_organizationId_organization_id_fk" FOREIGN KEY ("organizationId") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action; END IF; END $$;--> statement-breakpoint DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'invitation_organizationId_organization_id_fk') THEN ALTER TABLE "invitation" ADD CONSTRAINT "invitation_organizationId_organization_id_fk" FOREIGN KEY ("organizationId") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action; END IF; END $$;--> statement-breakpoint
DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'invitation_inviterId_user_id_fk') THEN ALTER TABLE "invitation" ADD CONSTRAINT "invitation_inviterId_user_id_fk" FOREIGN KEY ("inviterId") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action; END IF; END $$;--> statement-breakpoint DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'invitation_inviterId_user_id_fk') THEN ALTER TABLE "invitation" ADD CONSTRAINT "invitation_inviterId_user_id_fk" FOREIGN KEY ("inviterId") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action; END IF; END $$;--> statement-breakpoint