Ir diretamente para o conteúdo

Atualização

Os guias de migração estão aqui para o ajudar a migrar o seu Mergin Maps CE ou Mergin Maps EE para a versão mais recente do servidor. Mergin Maps O Cloud é sempre migrada para a versão mais recente pela Mergin Maps equipa. Saiba mais sobre as plataformas de servidor no artigo de visão geral.

AVISO

As migrações têm de ser realizadas uma a uma e não podem ser ignoradas.

Certifique-se de que faz sempre uma cópia de segurança dos dados da sua base de dados antes de efetuar uma migração.

Da versão 2025.5.x à versão 2025.7.x

Edição Empresarial

Efetuar a migração:

  1. Corrigir tabela - migração da versão antiga para a nova do MM
bash
    $ docker ps -a | grep postgres
          2b261cd55de2   postgres:14   "docker-entrypoint.s…"   há 4 semanas   Ativo há cerca de um minuto  5432/tcp  merginmaps-db
bash
    $ docker exec -it  2b261cd55de2 bash
bash
     psql -U postgres
bash
      selecionar * do projeto;
bash
     INÍCIO;

     CRIAR SEQUÊNCIA SE NÃO EXISTE public.map_overview_id_seq;

     CREATE TABELA SE NÃO EXISTE public.map_overview
     (
         id              INTEGER           NÃO NULL DEFAULT nextval('map_overview_id_seq'::regclass),
         project_id      UUID              NÃO NULL,
         versão         CARÁCTER VARYING,
         config          JSON,
         localização_dos_dados   CARÁCTER VARYING,
         qgis_file       CARÁCTER VARYING,

         CONSTRAINT pk_map_overview
             PRIMÁRIA CHAVE (id, project_id),

         CONSTRAINT fk_map_overview_project_id_project
             FOREIGN CHAVE (project_id)
             REFERÊNCIAS public.project (id)
             ON DELETE CASCADE
     );

     CREATE ÍNDICE SE NÃO EXISTE ix_map_overview_project_id
         ON public.map_overview (project_id ASC NULLS LAST);

     CREATE ÍNDICE SE NÃO EXISTE ix_map_overview_version
         ON public.map_overview (versão ASC NULLS ÚLTIMO);

     COMMIT;
bash
       selecionar * from map_overview;
     id | project_id | versão | config | localização_dos_dados | ficheiro_qgis
    ----+------------+---------+--------+---------------+-----------
    (0 linhas)
  1. Encerre os seus contentores Docker em execução

    bash
     $ docker compose -f docker-compose.yml down # ou algo semelhante, consoante a sua implementação anterior
  2. Clone ou faça um pull do repositório do servidor ou fazer o download pasta de implementação e abrir /empresa pasta.

    bash
     $ cd server/deployment/enterprise
  3. Adapte o seu atual docker-compose.yml e docker-compose.maps.yml ficheiro para a nova versão.

  4. Se tiver instalado o Maps Stack, altere qgis_extractor atualizar a versão da imagem de serviço para 2025.3.0 em docker-compose.maps.yml.

Alteração que implica uma mudança de versão

Versão da imagem utilizada anteriormente para o serviço qgis_extractor (2025.1.0) não é compatível com a versão mais recente do servidor Mergin Maps .

  1. Se tiver instalado o Maps Stack, adicione novas variáveis de ambiente ao ficheiro qgis_extractor serviço em docker-compose.maps.yaml.
yaml
ambiente:
    - OVERVIEWS_DATA_DIR=/data
    - MM_WMS_TILE_BUFFER=100
    - MM_WMS_AVOID_ARTIFACTS=1
    - BROKER_URL=redis://mergin-redis:6379/0
    - CELERY_RESULT_BACKEND=redis://mergin-redis:6379/0

Também pode limpar as seguintes variáveis a partir de .prod.env:

bash
QGIS_EXTRACTOR_TIMEOUT
QGIS_EXTRACTOR_API_URL
  1. Inicie os seus contentores Docker

    bash
     $ docker compose -f docker-compose.yml -d up # ou algo semelhante, consoante a sua implementação
     $ docker compose -f docker-compose.maps.yml -d up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar as versões corretas da migração da base de dados (6cb54659c1de, e95d051969ce).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    6cb54659c1de
    e95d051969ce
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 6cb54659c1de
    $ docker exec merginmaps-server flask db stamp e95d051969ce
  3. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar community@b9ec9ab6694f
    $ docker exec merginmaps-server flask db atualizar enterprise@c40e5e645b57

Da versão 2025.2.x à versão 2025.7.x (CE)

Edição comunitária

Efetuar a migração:

  1. Encerre os seus contentores Docker em execução
    bash
     $ docker compose -f docker-compose.yml down # ou algo semelhante, consoante a sua implementação anterior
  2. Clone ou faça um pull do repositório do servidor ou fazer o download pasta de implementação e abrir /comunidade pasta.
    bash
     $ cd server/deployment/community
  3. Adapte o seu atual docker-compose.yml e .prod.env variáveis de ambiente para a nova versão.
  4. Atualize o ficheiro de configuração do proxy do nginx com a versão mais recente disponível no nginx.conf (Este é um passo necessário para melhorar o descarregamento de ficheiros zip a partir do painel de controlo).
  5. Se pretender guardar registos de diagnóstico de uma aplicação móvel e de um plug- QGIS , execute o seguinte comando para definir as permissões adequadas para a pasta /registos_de_diagnóstico utilizado para armazenar ficheiros de registo:
    bash
    $ sh ../common/set_permissions.sh diagnostic_logs

Também pode desativar esta persistência em docker-compose.yml servidor definição do serviço. 6. Inicie os seus contentores Docker

bash
 $ docker compose -f docker-compose.yml -d up # ou algo semelhante, consoante a sua implementação
  1. Verifique se está a utilizar as versões corretas da migração da base de dados (ba5051218de4).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Presumirá DDL transacional.
    35af0c8be41e (head)
    ba5051218de4
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 35af0c8be41e
    $ docker exec merginmaps-server flask db stamp ba5051218de4
  2. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar heads    
    # O novo head será community@b9ec9ab6694f

Da versão 2025.3.x à versão 2025.5.x

Edição Empresarial

Efetuar a migração:

  1. Encerre os seus contentores Docker em execução
    bash
     $ docker compose -f docker-compose.yml down # ou algo semelhante, consoante a sua implementação anterior
  2. Por favor, clone ou faça um pull do repositório do servidor ou fazer o download pasta de implementação
    bash
     $ cd server/deployment/enterprise
  3. Adapte o seu atual docker-compose.yml ficheiro para a nova versão.
  4. Atualize o ficheiro de configuração do proxy do nginx com a versão mais recente disponível no nginx.conf (Este é um passo necessário para melhorar o descarregamento de ficheiros zip a partir do painel de controlo).
  5. Se pretender guardar registos de diagnóstico de uma aplicação móvel e de um plug- QGIS , execute o seguinte comando para definir as permissões adequadas para a pasta /registos_de_diagnóstico utilizado para armazenar ficheiros de registo:
    bash
    $ sh ../common/set_permissions.sh diagnostic_logs

Também pode desativar esta persistência em docker-compose.yml servidor definição do serviço. 6. Inicie os seus contentores Docker

bash
 $ docker compose -f docker-compose.yml -d up # ou algo semelhante, consoante a sua implementação
  1. Verifique se está a utilizar as versões corretas da migração da base de dados (5ad13be6f7ef, 819e6b20ee93).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    5ad13be6f7ef
    819e6b20ee93
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 5ad13be6f7ef
    $ docker exec merginmaps-server flask db stamp 819e6b20ee93
  2. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar community@6cb54659c1de
    $ docker exec merginmaps-server flask db atualizar enterprise@e95d051969ce

Descarregar ficheiros zip a partir do painel de controlo

Os ficheiros ZIP são agora guardados num espaço de armazenamento temporário e são eliminados ao fim de 7 dias. Isto pode aumentar o consumo de espaço de armazenamento do Mergin Maps servidor. Certifique-se de que dispõe de espaço suficiente no seu servidor.

Ativar o início de sessão único

Para ativar o início de sessão único no seu servidor, siga as instruções descritas na secção «Implementação do início de sessão único».

Da versão 2025.2.x à versão 2025.3.x

Edição Empresarial

Alterações no comportamento da implementação

A versão 2025.3.x traz algumas alterações no Mergin Maps procedimento de orquestração e implementação do Docker Compose.

Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker para a versão 2025.3.0. Efetue a migração:

  1. Encerre os seus contentores Docker em execução

    bash
     $ docker compose -f docker-compose.yml down # ou algo semelhante, consoante a sua implementação anterior
     # INFORMAÇÃO: Após o encerramento, atualize o ficheiro docker-compose.yml para a versão mais recente
  2. Por favor, clone o repositório do servidor ou fazer o download pasta de implementação

    bash
     $ cd server/deployment/enterprise
  3. Se pretender utilizar as novas pilhas de mapas web, adapte os seus atuais .prod.env e docker-compose.yml ficheiros. Mova-os ou copie-os para o empresa pasta de implementação

    bash
     $ cp /algum/caminho/.prod.env . # partindo do princípio de que se encontra em `server/deployment/enterprise`
     $ cp /algum/caminho/docker-compose.yml . # partindo do princípio de que se encontra na pasta `server/deployment/enterprise`
  4. Inicie os seus contentores Docker

    bash
     $ docker compose -f docker-compose.yml -d up # ou algo semelhante, consoante a sua implementação
     $ docker compose -f docker-compose.maps.yml -d up # Se pretender implementar a pilha webmaps
  5. Verifique se está a utilizar as versões corretas (ba5051218de4, ba5ae5972c4a).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto impl PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    ba5051218de4
    ba5ae5972c4a
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp ba5051218de4
    $ docker exec merginmaps-server flask db stamp ba5ae5972c4a
  6. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar community@5ad13be6f7ef
    $ docker exec merginmaps-server flask db atualizar enterprise@819e6b20ee93

Da versão 2024.2.x à versão 2025.2.x (CE)

Antes de atualizar!

A versão 2025.2.x traz alterações significativas na Mergin Maps infraestrutura de orquestração do Docker Compose.

Pessoa anterior servidor O contentor é substituído por três contentores dedicados ao serviço, que dividem os componentes principais de Mergin Maps, servidor-gunicorn a aplicação, aipo-beterraba O agendador de tarefas do Celery e trabalhador do aipo um contentor de trabalho dedicado para tarefas do Celery.

Edição comunitária

Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker para a versão 2025.2.2. Efetue a migração:

  1. Encerre os seus contentores Docker em execução

    bash
    $ docker compose -f docker-compose.yml down # ou algo semelhante, consoante a sua implementação
    # INFORMAÇÃO: Após o encerramento, atualize o ficheiro docker-compose.yml para a versão mais recente
  2. Verifique novamente se as variáveis de ambiente abaixo estão disponíveis e preenchidas .prod.env ficheiro de configuração. Caso contrário, adicione-as.

    bash
    SECURITY_EMAIL_SALT='<YOUR STRONG HASH>'
    SECURITY_BEARER_SALT='<YOUR STRONG HASH>'
    PORT=5000
  3. Inicie os seus contentores Docker

    • Se tiver parado os contentores durante o passo 1 Com o ficheiro de configuração da nova versão, é necessário parar e remover manualmente os contentores.
    bash
    $ docker stop merginmaps-db merginmaps-proxy merginmaps-redis merginmaps-server merginmaps-web
    $ docker rm merginmaps-db merginmaps-proxy merginmaps-redis merginmaps-server merginmaps-web
    • Depois disso, pode iniciar os novos contentores
    bash
    $ docker compose -f docker-compose.yml -d up # ou algo semelhante, consoante a sua implementação
  4. Verifique se está a utilizar as versões corretas (35af0c8be41e, a5d4defded55).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    35af0c8be41e (head)
    a5d4defded55
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 35af0c8be41e
    $ docker exec merginmaps-server flask db stamp a5d4defded55
  5. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar heads

Da versão 2024.4.x à versão 2025.2.x

Antes de atualizar!

A versão 2025.2.x traz alterações significativas na Mergin Maps infraestrutura de orquestração do Docker Compose.

Pessoa anterior servidor O contentor é substituído por três contentores dedicados ao serviço, que dividem os componentes principais de Mergin Maps, servidor-gunicorn a aplicação, aipo-beterraba O agendador de tarefas do Celery e trabalhador do aipo um contentor de trabalho dedicado para tarefas do Celery.

Edição Empresarial

Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker para a versão 2025.2.0. Efetue a migração:

  1. Encerre os contentores Docker em execução e crie as novas imagens

    bash
    $ docker compose -f docker-compose.yml down # ou algo semelhante, consoante a sua implementação
    # INFORMAÇÃO: Após o encerramento, atualize o ficheiro docker-compose.yml para a versão mais recente
  2. Verifique novamente se as variáveis de ambiente abaixo estão disponíveis e preenchidas .prod.env ficheiro de configuração. Caso contrário, adicione-as.

    bash
    SECURITY_EMAIL_SALT='<YOUR STRONG HASH>'
    SECURITY_BEARER_SALT='<YOUR STRONG HASH>'
    PORT=5000
  3. Inicie os seus contentores Docker

    • Se tiver parado os contentores durante o passo 1 Com o ficheiro de configuração da nova versão, é necessário parar e remover manualmente os contentores.
    bash
    $ docker stop merginmaps-db merginmaps-proxy merginmaps-redis merginmaps-server merginmaps-web
    $ docker rm merginmaps-db merginmaps-proxy merginmaps-redis merginmaps-server merginmaps-web
    • Depois disso, pode iniciar os novos contentores
    bash
    $ docker compose -f docker-compose.yml -d up # ou algo semelhante, consoante a sua implementação
  4. Verifique se está a utilizar as versões corretas (07f2185e2428, df5b4efdae7b).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    07f2185e2428
    df5b4efdae7b
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 07f2185e2428
    $ docker exec merginmaps-server flask db stamp df5b4efdae7b
  5. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar community@ba5051218de4
    $ docker exec merginmaps-server flask db atualizar enterprise@ba5ae5972c4a

Da versão 2024.3.x à versão 2024.4.x

Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker para a versão 2024.4.0. Efetue a migração:

Edição Empresarial
  1. Inicie os seus contentores Docker

    bash
    $ docker compose -f docker-compose.yml up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar as versões corretas (0e3fc92aeaaa, 223e3be99e92).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    0e3fc92aeaaa
    223e3be99e92
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 0e3fc92aeaaa
    $ docker exec merginmaps-server flask db stamp 223e3be99e92
  3. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualização community@07f2185e2428
    $ docker exec merginmaps-server flask db atualização enterprise@df5b4efdae7b

Da versão 2024.2.x à versão 2024.3.x

Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker para a versão 2024.3.0. Efetue a migração:

Edição Empresarial
  1. Inicie os seus contentores Docker

    bash
    $ docker compose -f docker-compose.yml up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar as versões corretas (a5d4defded55, 223e3be99e92).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    a5d4defded55
    223e3be99e92 (head)
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp a5d4defded55
    $ docker exec merginmaps-server flask db stamp 223e3be99e92
  3. Executar a migração da base de dados:

    bash
    $ docker exec merginmaps-server flask db atualizar community@0e3fc92aeaaa

De 1 de junho de 2023 a fevereiro de 2024.x (CE)

Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker.

Edição comunitária

Atualizar a imagem para 2024.2.2 e efetuar a migração:

  1. Inicie os seus contentores Docker

    bash
    $ docker compose -f docker-compose.yml up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar as versões corretas (35af0c8be41e, 3a77058a2fd7).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    3a77058a2fd7
    35af0c8be41e
    • Se não vir os números das versões, execute os seguintes comandos:
    bash
    $ docker exec merginmaps-server flask db stamp 35af0c8be41e
    $ docker exec merginmaps-server flask db stamp 3a77058a2fd7
  3. Execute a migração da base de dados; haverá várias atualizações:

    bash
    $ docker exec merginmaps-server flask db atualizar heads
Edição Empresarial

Atualizar a imagem para 2024.2.1 e efetuar a migração:

  1. Inicie os seus contentores Docker

    bash
    $ docker compose -f docker-compose.yml up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar as versões corretas (3a77058a2fd7, 0d867687ab64).

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    3a77058a2fd7
    0d867687ab64
    • Se não vir os números de versão, execute o seguinte comando:
    bash
    $ docker exec merginmaps-server flask db stamp 3a77058a2fd7
    $ docker exec merginmaps-server flask db stamp 0d867687ab64
  3. Execute a migração da base de dados; serão executadas várias atualizações em cada script:

    bash
    $ docker exec merginmaps-server flask db atualizar community@a5d4defded55
    $ docker exec merginmaps-server flask db atualizar enterprise@head

Da versão 2023.2.0+ à versão 2023.6.1

⚠️ Se estiver a utilizar uma versão do servidor inferior a 2023.2.0, é importante, em primeiro lugar, atualizar para 2023.2.0 antes de prosseguir com esta migração.


Fique a par das últimas novidades ficheiro docker-compose ou atualizar manualmente as imagens do Docker para a versão 2023.6.1. Efetue a migração:

Edição comunitária
  1. Inicie os seus contentores Docker

    bash
    $ docker compose -f docker-compose.yml up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar a versão correta (b6cb0a98ce20)

    bash
    $ docker exec merginmaps-server flask db current
    INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
    INFO  [alembic.runtime.migration] Will assume transactional DDL.
    b6cb0a98ce20 # <--- important
    • Se não vir o número da versão na última linha, execute o seguinte comando:
    bash
    $ docker exec merginmaps-server flask db stamp b6cb0a98ce20
  3. Executar a migração da base de dados

    bash
    $ docker exec merginmaps-server flask db atualizar 3a77058a2fd7
Edição Empresarial
  1. Inicie os seus contentores Docker

    bash
    $ docker compose -f docker-compose.yml up # ou algo semelhante, consoante a sua implementação
  2. Verifique se está a utilizar as versões corretas (b6cb0a98ce20, 0d867687ab64)

    bash
    $ docker exec merginmaps-server flask db atual
    INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
    INFO  [alembic.runtime.migration] Assumirá DDL transacional.
    b6cb0a98ce20
    0d867687ab64
    • Se não vir os números de versão, execute o seguinte comando:
    bash
    $ docker exec merginmaps-server flask db stamp b6cb0a98ce20
    $ docker exec merginmaps-server flask db stamp 0d867687ab64
  3. Executar a migração da base de dados

    bash
    $ docker exec merginmaps-server flask db atualizar community@3a77058a2fd7

Qualquer versão anterior à 2023.2.0

Para além de várias correções, melhorias e otimizações de desempenho, a alteração mais notável introduzida recentemente é o conceito de espaços de trabalho. No caso da Community Edition, isto significa que existe um espaço de trabalho comum e partilhado (espaço de trabalho global) para todos os utilizadores, onde todos os projetos são armazenados, em vez de se dispor de um espaço de nomes pessoal ou organizacional para os projetos.

DICA

Caso não necessite dos seus dados anteriores, aconselhamos que comece com uma implementação limpa, sem necessidade de seguir este guia de migração.

Atualização para a versão 2023.2

  1. Sincronize todos os seus projetos e dispositivos utilizando a aplicação móvelMergin Maps e o pluginMergin Maps QGIS . Certifique-se de que não existem alterações pendentes.

  2. Após a sincronização, todos os projetos descarregados têm de ser removidos de todos os dispositivos através da aplicação móvelMergin Maps e do pluginMergin Maps QGIS

  3. Faça uma cópia de segurança da sua base de dados ⚠️

bash
$ docker exec mergin-db pg_dump -U postgres -Fc postgres > pg_backup.dump
  1. Parar todos os serviços em execução Mergin Maps (a partir da pasta raiz do projeto)
bash
$ docker compose -f docker-compose.yml parar
  1. Recuperar as alterações mais recentes
bash
$ git pull
  1. Definir variáveis de ambiente .prod.env. Importante ⚠️
Edição comunitária

Como mencionado anteriormente, oMergin Maps CE funciona com um único espaço de trabalho global. Vamos configurá-lo agora. Especifique o seu nome através da seguinte variável de ambiente:

  • GLOBAL_WORKSPACE=ShinyWorkspace - nome do seu espaço de trabalho. Uma boa opção é o nome da sua empresa ou equipa. Este valor não deve ser alterado mais tarde.

DICA

Pode encontrar aqui todas as variáveis de ambiente disponíveis, juntamente com um tutorial sobre como configurá-las.

Além disso, é necessário definir uma função predefinida para as pessoas no seu espaço de trabalho (saiba mais sobre o nosso sistema de permissões e funções aqui). Escolha uma destas opções:

  • GLOBAL_READ=0 Todos terão o papel de convidado (sem acesso a nenhum projeto, a menos que tal acesso seja explicitamente concedido)
  • GLOBAL_READ=1 Todos terão o papel de leitor (poderão ler/descarregar todos os projetos no espaço de trabalho)
  • GLOBAL_WRITE=1 Todos terão a função de «escritor» (poderão contribuir para todos os projetos no espaço de trabalho, por exemplo, carregar ficheiros)
  • GLOBAL_ADMIN=1 todos terão a função de administrador (poderão criar novos projetos e partilhá-los com outras pessoas)

Podes definir o espaço de armazenamento máximo para o teu novo e fantástico espaço de trabalho 🌟 com a seguinte variável:

  • GLOBAL_STORAGE=10737418240 - espaço de armazenamento do espaço de trabalho em bytes (10 GB no exemplo)

DICA

É possível criar novos utilizadores a partir de Mergin Maps painel de administração, acedendo a <your_url>/admin.

Edição Empresarial

Existem algumas definições cujos valores poderá querer alterar:

  • WORKSPACE_STORAGE_SIZE=104857600 - espaço de armazenamento da área de trabalho em bytes (100 MB no exemplo)
  • WORKSPACE_INVITATION_EXPIRATION=7 - número de dias até ao termo da validade do convite
  • WORKSPACE_EXPIRATION=7 - número de dias para a eliminação definitiva do espaço de trabalho eliminado
  • USER_WORKSPACES_ALLOWED=1 - se os utilizadores podem criar os seus próprios espaços de trabalho
  • USER_SELF_REGISTRATION=1 - se os utilizadores podem registar-se; se o valor for 0, os novos utilizadores só podem ser adicionados pelo administrador
  1. Certifique-se de que o volume dos projetos é montado em docker-compose O ficheiro continua a corresponder (pode configurar novos volumes seguindo as instruções do guia de início rápido). Mude para a nova versão do servidor e para o PostgreSQL, pelo menos para a versão 12 (recomenda-se a versão 14), executando novos contentores Docker:
bash
$ docker compose -f docker-compose.yml up
  1. Restaurar uma cópia de segurança de uma versão mais antiga do PostgreSQL, por exemplo:
bash
$ docker cp pg_backup.dump merginmaps-db:/tmp
$ docker exec -it merginmaps-db bash
root@merginmaps-db$ pg_restore -U postgres -Fc -d postgres < /tmp/pg_backup.dump

Poderá ver alguns avisos relativos à utilização do esquema público; pode ignorá-los sem qualquer problema.

AVISO

Se as suas configurações do PostgreSQL forem personalizadas, poderá ser necessário seguir as instruções oficiais para atualizar o cluster do PostgreSQL.

Migração de bases de dados

Edição comunitária

Nesta etapa, iremos selecionar um espaço de trabalho global (por exemplo, «my-company») onde todos os seus projetos serão integrados. Os seus projetos são migrados da seguinte forma: o antigo namespace é acrescentado à frente do nome do projeto e todo o projeto é transferido para o novo espaço de trabalho global, por exemplo:

john.doe/survey -> my-company/john.doe_survey
my-org/projectA -> my-company/my-org_projectA

Executar scripts de migração da base de dados em merginmaps-server recipiente:

bash
$ docker exec -it merginmaps-server bash

# atualizar a base de dados para o estado da versão 2021.6.1, 
# se existir algum registo Alembic, poderá ser necessário corrigi-lo manualmente 
$ flask db stamp 2686074eff45 # ← estado em 1 de junho de 2021
$ flask db atualização dbd428cda965 # sincronização com versões anteriores a 2023
$ flask db atualizar 0ab6a1fbf974

$ echo $GLOBAL_WORKSPACE # certifique-se de que a variável GLOBAL_WORKSPACE está definida e tem o valor pretendido

$ flask db upgrade 35af0c8be41e
$ flask db atualização 1fcbea2a0f2c
$ flask db atualização 3daefa84ce67
$ flask db atualização b6cb0a98ce20

Se tudo correr bem, a sua base de dados deverá ficar no seguinte estado

bash
$ flask banco de dados atual
INFO  [alembic.runtime.migration] Contexto impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Assumirá DDL transacional.
b6cb0a98ce20 (head)
35af0c8be41e (head)
Edição Empresarial

Nesta etapa, todos os seus espaços de nomes de utilizador e de organização serão migrados para os espaços de trabalho, mantendo os seus nomes originais. A partir de agora, não haverá qualquer diferença entre os espaços de nomes de utilizador e de organização.

Executar scripts de migração da base de dados em merginmaps-server recipiente:

bash
$ docker exec -it merginmaps-server bash

# atualizar a base de dados para o estado da versão 2021.6.1, 
# se existir algum registo Alembic, poderá ser necessário corrigi-lo manualmente 
$ flask db stamp 2686074eff45 # ← estado em 1 de junho de 2021
$ flask db stamp f2f038cbae06 # ← estado em 1 de junho de 2021 (ramo «enterprise»)
$ flask db atualização community@dbd428cda965  # sincronizar com versões anteriores a 2023

# executar várias atualizações relacionadas com o espaço de trabalho
$ flask db atualizar community@0ab6a1fbf974 
$ flask db atualização enterprise@92a63acb7973
$ flask db atualização community@1fcbea2a0f2c
$ flask db atualização community@3daefa84ce67
$ flask db atualização community@b6cb0a98ce20
$ flask db atualização enterprise@0d867687ab64

Se tudo correr bem, a sua base de dados deverá ficar no seguinte estado

bash
$ flask banco de dados atual
INFO  [alembic.runtime.migration] Contexto implementado por PostgresqlImpl.
INFO  [alembic.runtime.migration] Assumirá DDL transacional.
0d867687ab64 (head)
b6cb0a98ce20 (head)

A sua migração deve ter sido concluída com sucesso. Tenha em atenção que os ficheiros no seu disco não foram alterados; apenas os nomes dos projetos (espelhos de nomes) foram alterados.

Já pode descarregar e continuar a trabalhar nos seus projetos.