Files
democratic-money/prisma/migrations/20260515210000_user_username/migration.sql
2026-05-16 00:47:44 +00:00

27 lines
541 B
SQL

-- Add optional username column, backfill, then constrain.
ALTER TABLE "User" ADD COLUMN "username" TEXT;
UPDATE "User"
SET "username" =
LEFT(
COALESCE(
NULLIF(
regexp_replace(
lower(trim(split_part("email", '@', 1))),
'[^a-z0-9_]',
'_',
'g'
),
''
),
'supporter'
),
23
)
|| '_'
|| right(replace("id", '-', ''), 8);
ALTER TABLE "User" ALTER COLUMN "username" SET NOT NULL;
CREATE UNIQUE INDEX "User_username_key" ON "User" ("username");