migration.load.difff

Created Diff never expires
12 removals
Words removed12
Total words237
Words removed (%)5.06
44 lines
12 additions
Words added12
Total words237
Words added (%)5.06
44 lines
LOAD DATABASE
LOAD DATABASE
FROM mysql://{{ mysql_user }}:{{ mysql_password }}@{{ mysql_address }}/{{ source_schema }}
FROM mysql://{{ mysql_user }}:{{ mysql_password }}@{{ mysql_address }}/{{ source_schema }}
INTO pgsql://{{ pg_user }}:{{ pg_password }}@{{ postgres_address }}/{{ target_schema }}
INTO pgsql://{{ pg_user }}:{{ pg_password }}@{{ postgres_address }}/{{ target_schema }}


WITH data only,
WITH data only,
workers = 8, concurrency = 1,
workers = 8, concurrency = 1,
multiple readers per thread, rows per range = 10000,
multiple readers per thread, rows per range = 10000,
prefetch rows = 10000, batch rows = 2500,
prefetch rows = 10000, batch rows = 2500,
create no tables, create no indexes,
create no tables, create no indexes,
preserve index names
preserve index names


SET PostgreSQL PARAMETERS
SET PostgreSQL PARAMETERS
maintenance_work_mem to '128MB',
maintenance_work_mem to '128MB',
work_mem to '12MB'
work_mem to '12MB'


SET MySQL PARAMETERS
SET MySQL PARAMETERS
net_read_timeout = '120',
net_read_timeout = '120',
net_write_timeout = '120'
net_write_timeout = '120'


CAST column Channels.Type to "channel_type" drop typemod,
CAST column Channels.Type to "channel_type" drop typemod,
column Teams.Type to "team_type" drop typemod,
column Teams.Type to "team_type" drop typemod,
column UploadSessions.Type to "upload_session_type" drop typemod,
column UploadSessions.Type to "upload_session_type" drop typemod,
column ChannelBookmarks.Type to "channel_bookmark_type" drop typemod,
column ChannelBookmarks.Type to "channel_bookmark_type" drop typemod,
column Drafts.Priority to text,
column Drafts.Priority to text,
type int when (= precision 11) to integer drop typemod,
type int when (= precision 11) to integer drop typemod,
type bigint when (= precision 20) to bigint drop typemod,
type bigint when (= precision 20) to bigint drop typemod,
type text to varchar drop typemod,
type text to varchar drop typemod,
type tinyint when (<= precision 4) to boolean using tinyint-to-boolean,
type tinyint when (<= precision 4) to boolean using tinyint-to-boolean,
type json to jsonb drop typemod
type json to jsonb drop typemod


EXCLUDING TABLE NAMES MATCHING ~<IR_>, ~<focalboard>, 'schema_migrations', 'db_migrations', 'db_lock',
EXCLUDING TABLE NAMES MATCHING ~<IR_>, ~<focalboard>, 'schema_migrations', 'db_migrations', 'db_lock',
'Configurations', 'ConfigurationFiles', 'db_config_migrations'
'Configurations', 'ConfigurationFiles', 'db_config_migrations'


BEFORE LOAD DO
BEFORE LOAD DO
$$ ALTER SCHEMA public RENAME TO {{ source_schema }}; $$,
$$ ALTER SCHEMA public RENAME TO "{{ source_schema }}"; $$,
$$ TRUNCATE TABLE {{ source_schema }}.systems; $$,
$$ TRUNCATE TABLE "{{ source_schema }}".systems; $$,
$$ DROP INDEX IF EXISTS {{ source_schema }}.idx_posts_message_txt; $$,
$$ DROP INDEX IF EXISTS "{{ source_schema }}".idx_posts_message_txt; $$,
$$ DROP INDEX IF EXISTS {{ source_schema }}.idx_fileinfo_content_txt; $$
$$ DROP INDEX IF EXISTS "{{ source_schema }}".idx_fileinfo_content_txt; $$


AFTER LOAD DO
AFTER LOAD DO
$$ UPDATE {{ source_schema }}.db_migrations set name='add_createat_to_teamembers' where version=92; $$,
$$ UPDATE "{{ source_schema }}".db_migrations set name='add_createat_to_teamembers' where version=92; $$,
$$ ALTER SCHEMA {{ source_schema }} RENAME TO public; $$,
$$ ALTER SCHEMA "{{ source_schema }}" RENAME TO public; $$,
$$ SELECT pg_catalog.set_config('search_path', '"$user", public', false); $$,
$$ SELECT pg_catalog.set_config('search_path', '"$user", public', false); $$,
$$ ALTER USER {{ pg_user }} SET SEARCH_PATH TO 'public'; $$;
$$ ALTER USER {{ pg_user }} SET SEARCH_PATH TO 'public'; $$;