CREATE TABLE projects ( uuid UUID PRIMARY KEY, name VARCHAR(120) NOT NULL, slug VARCHAR(120) NOT NULL UNIQUE CHECK ( slug ~ '^[a-z0-9]+(?:-[a-z0-9]+)*$' ), description TEXT, owner_user_id UUID NOT NULL, closed_at TIMESTAMPTZ NULL, billing_account_id UUID NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now(), created_by UUID NOT NULL, updated_by UUID NOT NULL );