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>
90 lines
2.5 KiB
SQL
90 lines
2.5 KiB
SQL
CREATE TABLE IF NOT EXISTS teams (
|
|
id VARCHAR(26) PRIMARY KEY,
|
|
createat bigint,
|
|
updateat bigint,
|
|
deleteat bigint,
|
|
displayname VARCHAR(64),
|
|
name VARCHAR(64),
|
|
description VARCHAR(255),
|
|
email VARCHAR(128),
|
|
type VARCHAR(255),
|
|
companyname VARCHAR(64),
|
|
alloweddomains VARCHAR(1000),
|
|
inviteid VARCHAR(32),
|
|
schemeid VARCHAR(26),
|
|
UNIQUE(name)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_teams_invite_id ON teams (inviteid);
|
|
CREATE INDEX IF NOT EXISTS idx_teams_update_at ON teams (updateat);
|
|
CREATE INDEX IF NOT EXISTS idx_teams_create_at ON teams (createat);
|
|
CREATE INDEX IF NOT EXISTS idx_teams_delete_at ON teams (deleteat);
|
|
CREATE INDEX IF NOT EXISTS idx_teams_scheme_id ON teams (schemeid);
|
|
|
|
ALTER TABLE teams ADD COLUMN IF NOT EXISTS allowopeninvite boolean;
|
|
ALTER TABLE teams ADD COLUMN IF NOT EXISTS lastteamiconupdate bigint;
|
|
ALTER TABLE teams ADD COLUMN IF NOT EXISTS description VARCHAR(255);
|
|
ALTER TABLE teams ADD COLUMN IF NOT EXISTS groupconstrained boolean;
|
|
|
|
DROP INDEX IF EXISTS idx_teams_name;
|
|
|
|
DO $$
|
|
DECLARE
|
|
column_exist boolean := false;
|
|
BEGIN
|
|
SELECT count(*) != 0 INTO column_exist
|
|
FROM information_schema.columns
|
|
WHERE table_name = 'teams'
|
|
AND table_schema = current_schema()
|
|
AND column_name = 'alloweddomains'
|
|
AND NOT data_type = 'varchar(1000)';
|
|
IF column_exist THEN
|
|
ALTER TABLE teams ALTER COLUMN alloweddomains TYPE VARCHAR(1000);
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
DECLARE
|
|
column_exist boolean := false;
|
|
BEGIN
|
|
SELECT count(*) != 0 INTO column_exist
|
|
FROM information_schema.columns
|
|
WHERE table_name = 'teams'
|
|
AND table_schema = current_schema()
|
|
AND column_name = 'groupconstrained'
|
|
AND NOT data_type = 'boolean';
|
|
IF column_exist THEN
|
|
ALTER TABLE teams ALTER COLUMN groupconstrained TYPE boolean;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
DECLARE
|
|
column_exist boolean := false;
|
|
BEGIN
|
|
SELECT count(*) != 0 INTO column_exist
|
|
FROM information_schema.columns
|
|
WHERE table_name = 'teams'
|
|
AND table_schema = current_schema()
|
|
AND column_name = 'type'
|
|
AND NOT data_type = 'varchar(255)';
|
|
IF column_exist THEN
|
|
ALTER TABLE teams ALTER COLUMN type TYPE VARCHAR(255);
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
DECLARE
|
|
column_exist boolean := false;
|
|
BEGIN
|
|
SELECT count(*) != 0 INTO column_exist
|
|
FROM information_schema.columns
|
|
WHERE table_name = 'teams'
|
|
AND table_schema = current_schema()
|
|
AND column_name = 'schemeid'
|
|
AND NOT data_type = 'varchar(26)';
|
|
IF column_exist THEN
|
|
ALTER TABLE teams ALTER COLUMN schemeid TYPE varchar(26);
|
|
END IF;
|
|
END $$;
|