From 1a0162708a0cf3bcfb926bcab11b8d49e276e431 Mon Sep 17 00:00:00 2001 From: JaroslavMasar74 <84442077+JaroslavMasar74@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:32:47 +0200 Subject: [PATCH 1/4] Clarify migration steps for overviews table issue Updated migration instructions to clarify the fix for the missing overviews table during older database migrations. --- src/server/upgrade/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/upgrade/index.md b/src/server/upgrade/index.md index edef582b..93d81eee 100644 --- a/src/server/upgrade/index.md +++ b/src/server/upgrade/index.md @@ -20,23 +20,23 @@ Make sure to always back up your database data before doing a migration. Perform the migration: -0. Fix table - migration from old to new MM version +0. Fix the issue of missing overviews table in case it was not created during older db migration. ```bash $ docker ps -a | grep postgres ``` 2b261cd55de2 postgres:14 "docker-entrypoint.s…" 4 weeks ago Up About a minute 5432/tcp merginmaps-db + ```bash $ docker exec -it 2b261cd55de2 bash ``` + Run commands in postgres container: + ```bash psql -U postgres ``` - ```bash - select * from project; - ``` ```bash BEGIN; From 268711212cb9b27eb94ff3d90c95cff05c2ad689 Mon Sep 17 00:00:00 2001 From: JaroslavMasar74 <84442077+JaroslavMasar74@users.noreply.github.com> Date: Tue, 21 Jul 2026 10:19:16 +0200 Subject: [PATCH 2/4] Add files via upload --- .../upgrade/PATCHCreate_ map_overview.sql | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/server/upgrade/PATCHCreate_ map_overview.sql diff --git a/src/server/upgrade/PATCHCreate_ map_overview.sql b/src/server/upgrade/PATCHCreate_ map_overview.sql new file mode 100644 index 00000000..d22fdfa4 --- /dev/null +++ b/src/server/upgrade/PATCHCreate_ map_overview.sql @@ -0,0 +1,33 @@ +-- ============================================================ +-- PATCH: Create map_overview table +-- ============================================================ + +BEGIN; + +CREATE SEQUENCE IF NOT EXISTS public.map_overview_id_seq; + +CREATE TABLE IF NOT EXISTS public.map_overview +( + id INTEGER NOT NULL DEFAULT nextval('map_overview_id_seq'::regclass), + project_id UUID NOT NULL, + version CHARACTER VARYING, + config JSON, + data_location CHARACTER VARYING, + qgis_file CHARACTER VARYING, + + CONSTRAINT pk_map_overview + PRIMARY KEY (id, project_id), + + CONSTRAINT fk_map_overview_project_id_project + FOREIGN KEY (project_id) + REFERENCES public.project (id) + ON DELETE CASCADE +); + +CREATE INDEX IF NOT EXISTS ix_map_overview_project_id + ON public.map_overview (project_id ASC NULLS LAST); + +CREATE INDEX IF NOT EXISTS ix_map_overview_version + ON public.map_overview (version ASC NULLS LAST); + +COMMIT; \ No newline at end of file From ceadadc8fa4190e21eaa19f9e5e3d7a4a48d7492 Mon Sep 17 00:00:00 2001 From: JaroslavMasar74 <84442077+JaroslavMasar74@users.noreply.github.com> Date: Tue, 21 Jul 2026 10:22:59 +0200 Subject: [PATCH 3/4] Update Docker exec command for postgres container --- src/server/upgrade/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/upgrade/index.md b/src/server/upgrade/index.md index 93d81eee..c82a4aa2 100644 --- a/src/server/upgrade/index.md +++ b/src/server/upgrade/index.md @@ -29,7 +29,7 @@ Perform the migration: ```bash - $ docker exec -it 2b261cd55de2 bash + $ docker exec -it merginmaps-db bash ``` Run commands in postgres container: From 65268013107527c357aaa69f09ddbec4aad2c2a6 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Wed, 26 Aug 2026 17:16:43 +0200 Subject: [PATCH 4/4] Adding step 8 to migration --- ...p_overview.sql => create_map_overview.sql} | 0 src/server/upgrade/index.md | 103 ++++++++---------- 2 files changed, 45 insertions(+), 58 deletions(-) rename src/server/upgrade/{PATCHCreate_ map_overview.sql => create_map_overview.sql} (100%) diff --git a/src/server/upgrade/PATCHCreate_ map_overview.sql b/src/server/upgrade/create_map_overview.sql similarity index 100% rename from src/server/upgrade/PATCHCreate_ map_overview.sql rename to src/server/upgrade/create_map_overview.sql diff --git a/src/server/upgrade/index.md b/src/server/upgrade/index.md index 24da9d02..5a510a91 100644 --- a/src/server/upgrade/index.md +++ b/src/server/upgrade/index.md @@ -20,63 +20,6 @@ Make sure to always back up your database data before doing a migration. Perform the migration: -0. Fix the issue of missing overviews table in case it was not created during older db migration. - - ```bash - $ docker ps -a | grep postgres - ``` - 2b261cd55de2 postgres:14 "docker-entrypoint.s…" 4 weeks ago Up About a minute 5432/tcp merginmaps-db - - - ```bash - $ docker exec -it merginmaps-db bash - ``` - Run commands in postgres container: - - ```bash - psql -U postgres - ``` - - ```bash - BEGIN; - - CREATE SEQUENCE IF NOT EXISTS public.map_overview_id_seq; - - CREATE TABLE IF NOT EXISTS public.map_overview - ( - id INTEGER NOT NULL DEFAULT nextval('map_overview_id_seq'::regclass), - project_id UUID NOT NULL, - version CHARACTER VARYING, - config JSON, - data_location CHARACTER VARYING, - qgis_file CHARACTER VARYING, - - CONSTRAINT pk_map_overview - PRIMARY KEY (id, project_id), - - CONSTRAINT fk_map_overview_project_id_project - FOREIGN KEY (project_id) - REFERENCES public.project (id) - ON DELETE CASCADE - ); - - CREATE INDEX IF NOT EXISTS ix_map_overview_project_id - ON public.map_overview (project_id ASC NULLS LAST); - - CREATE INDEX IF NOT EXISTS ix_map_overview_version - ON public.map_overview (version ASC NULLS LAST); - - COMMIT; - ``` - - ```bash - select * from map_overview; - ``` - id | project_id | version | config | data_location | qgis_file - ----+------------+---------+--------+---------------+----------- - (0 rows) - - 1. Stop your running docker containers ```bash $ docker compose -f docker-compose.yml down # or similarly, based on your previous deployment @@ -128,7 +71,51 @@ You can also clean the following variables from `.prod.env`: $ docker exec merginmaps-server flask db stamp 6cb54659c1de $ docker exec merginmaps-server flask db stamp e95d051969ce ``` -8. Run the database migration: + +8. If you do not have `map_overview` table in your database, run the following commands to create it by running commands in postgres container or in any postgres client (PgAdmin, etc.) connected to your database: + ```bash + $ docker exec -it merginmaps-db bash + $ psql -U postgres + ``` + + Run following SQL for creating the `map_overview` table and its indexes: + + ```sql + BEGIN; + + CREATE SEQUENCE IF NOT EXISTS public.map_overview_id_seq; + + CREATE TABLE IF NOT EXISTS public.map_overview + ( + id INTEGER NOT NULL DEFAULT nextval('map_overview_id_seq'::regclass), + project_id UUID NOT NULL, + version CHARACTER VARYING, + config JSON, + data_location CHARACTER VARYING, + qgis_file CHARACTER VARYING, + + CONSTRAINT pk_map_overview + PRIMARY KEY (id, project_id), + + CONSTRAINT fk_map_overview_project_id_project + FOREIGN KEY (project_id) + REFERENCES public.project (id) + ON DELETE CASCADE + ); + + CREATE INDEX IF NOT EXISTS ix_map_overview_project_id + ON public.map_overview (project_id ASC NULLS LAST); + + CREATE INDEX IF NOT EXISTS ix_map_overview_version + ON public.map_overview (version ASC NULLS LAST); + + COMMIT; + ``` + +If this table is missing, the migrations in the next step will fail. + +9. Run the database migration: + ```bash $ docker exec merginmaps-server flask db upgrade community@b9ec9ab6694f $ docker exec merginmaps-server flask db upgrade enterprise@c40e5e645b57