Add documentation for mattermots migtation to PostgeSQL.

This commit is contained in:
2025-01-05 13:20:59 +01:00
parent 543ee65fe0
commit 8f8741714d
3 changed files with 376 additions and 49 deletions

View File

@ -6,26 +6,26 @@
#
# https://docs.mattermost.com/deploy/postgres-migration.html
MATTERMOST_VERSION="9.11.6"
MATTERMOST_VERSION="v9.11.6"
# Postgresql
psql_db_host="10.0.3.42"
psql_db_host="10.0.3.147"
psql_db_port="5432"
psql_db_name="mattermost"
psql_db_user="mattermost"
psql_db_password='aiqu7oghae1eZai3'
MYSQL_DSN="${mysql_db_user}:${mysql_db_password}@tcp(${mysql_db_host}:${mysql_db_port})/${mysql_db_name}"
# Mysql
mysql_db_host="10.0.3.42"
mysql_db_port="3306"
mysql_db_name="mattermost2"
mysql_db_user="mattermost2"
mysql_db_password='aiqu7oghae1eZai3'
psql_db_password='C5jzznfvn.-WV6J7-4rgT'
POSTGRES_DSN="postgres://${psql_db_user}:${psql_db_password}@${psql_db_host}:${psql_db_port}/${psql_db_name}"
# Mysql
mysql_db_host="10.0.3.147"
mysql_db_port="3306"
mysql_db_name="mattermost"
mysql_db_user="mattermost"
mysql_db_password='C5jzznfvn%%WV6J7-4rgT'
MYSQL_DSN="${mysql_db_user}:${mysql_db_password}@tcp(${mysql_db_host}:${mysql_db_port})/${mysql_db_name}"
pgloader_bin='/usr/local/src/pgloader/pgloader/build/bin/pgloader'
@ -147,6 +147,18 @@ systemctl stop postgresql
systemctl start postgresql
# ==============================
#
# Note: On mattermost Host in file my.cnf set:
# ============================================
#
# [mysqld]
# ...
# default-authentication-plugin = mysql_native_password
#
# ==============================
# ==============================
# Automated PostgreSQL migration
# ==============================
@ -274,6 +286,20 @@ migration-assist pgloader --mysql $MYSQL_DSN --postgres $POSTGRES_DSN | tee mig
# $$ ALTER USER mmuser SET SEARCH_PATH TO '"$user", public'; $$;
# Step 3.1 - Add missing tables..
# ===============================
#
#
#
# At mttermost host
#
# - Create sql file /root/bin/mattermost-migration.sql (includes miising tables/indexes/..)
#
# - run: cd /tmp; sudo -u postgres psql mattermost < /root/bin/mattermost-migration.sql
#
cd /tmp; sudo -u postgres psql mattermost < /root/bin/mattermost-migration.sql
# Step 4 - Run pgloader
# =====================
#
@ -336,43 +362,6 @@ sed -i '/mattermost.focalboard_teams/d' boards.load
${pgloader_bin} boards.load | tee boards_migration.log
# playbooks.load
#
# Add missing entries into database:
CREATE TABLE public.ir_category (
id character varying(26) NOT NULL,
name character varying(512) NOT NULL,
teamid character varying(26) NOT NULL,
userid character varying(26) NOT NULL,
collapsed boolean DEFAULT false,
createat bigint NOT NULL,
updateat bigint DEFAULT 0 NOT NULL,
deleteat bigint DEFAULT 0 NOT NULL
);
ALTER TABLE public.ir_category OWNER TO mattermost;
CREATE TABLE public.ir_category_item (
type character varying(1) NOT NULL,
categoryid character varying(26) NOT NULL,
itemid character varying(26) NOT NULL
);
ALTER TABLE public.ir_category_item OWNER TO mattermost;
ALTER TABLE ONLY public.ir_category_item
ADD CONSTRAINT ir_category_item_pkey PRIMARY KEY (categoryid, itemid, type);
ALTER TABLE ONLY public.ir_category
ADD CONSTRAINT ir_category_pkey PRIMARY KEY (id);
CREATE INDEX ir_category_item_categoryid ON public.ir_category_item USING btree (categoryid);
CREATE INDEX ir_category_teamid_userid ON public.ir_category USING btree (teamid, userid);
ALTER TABLE ONLY public.ir_category_item
ADD CONSTRAINT ir_category_item_categoryid_fkey FOREIGN KEY (categoryid) REFERENCES public.ir_category(id);
#
${pgloader_bin} playbooks.load | tee playbooks_migration.log
${pgloader_bin} calls.load | tee calls.log