0c1d3abd7e
PR Checks / test-and-build (pull_request) Successful in 12m32s
Add sanitized public GM profiles with publication controls, public /gm/{slug} pages, and links from public game surfaces.
Bump version -> 3.5.0
21 lines
759 B
SQL
21 lines
759 B
SQL
-- Public GM profiles for catalog and club trust pages.
|
|
|
|
CREATE TABLE master_profiles (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
player_id UUID NOT NULL UNIQUE REFERENCES players(id) ON DELETE CASCADE,
|
|
public_slug VARCHAR(120),
|
|
is_public BOOLEAN NOT NULL DEFAULT false,
|
|
display_name VARCHAR(255) NOT NULL,
|
|
bio TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE UNIQUE INDEX ux_master_profiles_public_slug
|
|
ON master_profiles (lower(public_slug))
|
|
WHERE public_slug IS NOT NULL;
|
|
|
|
CREATE INDEX ix_master_profiles_public
|
|
ON master_profiles (lower(public_slug))
|
|
WHERE is_public = true AND public_slug IS NOT NULL;
|