27 lines
541 B
SQL
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");
|