Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.3 KiB
PL/PgSQL
45 lines
1.3 KiB
PL/PgSQL
DO
|
|
$$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT * FROM pg_type typ
|
|
INNER JOIN pg_namespace nsp ON nsp.oid = typ.typnamespace
|
|
WHERE nsp.nspname = current_schema()
|
|
AND typ.typname = 'channel_type') THEN
|
|
CREATE TYPE channel_type AS ENUM ('P', 'G', 'O', 'D');
|
|
END IF;
|
|
END;
|
|
$$
|
|
LANGUAGE plpgsql;
|
|
|
|
ALTER TABLE channels alter column type type channel_type using type::channel_type;
|
|
|
|
DO
|
|
$$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT * FROM pg_type typ
|
|
INNER JOIN pg_namespace nsp ON nsp.oid = typ.typnamespace
|
|
WHERE nsp.nspname = current_schema()
|
|
AND typ.typname = 'team_type') THEN
|
|
CREATE TYPE team_type AS ENUM ('I', 'O');
|
|
END IF;
|
|
END;
|
|
$$
|
|
LANGUAGE plpgsql;
|
|
|
|
ALTER TABLE teams alter column type type team_type using type::team_type;
|
|
|
|
DO
|
|
$$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT * FROM pg_type typ
|
|
INNER JOIN pg_namespace nsp ON nsp.oid = typ.typnamespace
|
|
WHERE nsp.nspname = current_schema()
|
|
AND typ.typname = 'upload_session_type') THEN
|
|
CREATE TYPE upload_session_type AS ENUM ('attachment', 'import');
|
|
END IF;
|
|
END;
|
|
$$
|
|
LANGUAGE plpgsql;
|
|
|
|
ALTER TABLE uploadsessions alter column type type upload_session_type using type::upload_session_type;
|