← Voltar à Plataforma

Manual de Exportação, Importação e Migração

GVFF GRC Platform - Procedimentos para backup, migração e reinstalação
Versão atualizada | Março 2026

Índice

  1. Visão Geral
  2. Requisitos
  3. Exportar o Código
  4. Backup da Base de Dados MySQL
  5. Enviar para o Servidor
  6. Configuração da App Node.js no cPanel
  7. Criação da Base de Dados no cPanel
  8. Importação do SQL
  9. Variáveis de Ambiente
  10. Instalação e Reinício
  11. Domínio e Subdomínio
  12. Migração entre Ambientes
  13. Ambiente Local (Opcional)
  14. Checklist Final

1. Visão Geral

Este manual descreve como exportar, importar e migrar a plataforma GVFF GRC na sua versão atual, baseada em Node.js + Express + MySQL.

A plataforma é composta por:

Nota: Na versão atual, a plataforma deixou de usar PostgreSQL/Neon e passou a usar MySQL. Os procedimentos deste manual assumem essa arquitetura.

2. Requisitos

2.1 Requisitos mínimos

ComponenteMínimoRecomendado
Node.js18.x20.x
MySQL5.7+8.x
RAM512 MB1 GB+
Espaço1 GB5 GB+
Acesso ao painelcPanel/SSHcPanel + terminal

2.2 Estrutura do projeto

gvff-grc-platform/
├── index.js
├── package.json
├── package-lock.json
├── .env
├── config/
├── middleware/
├── models/
├── routes/
├── seeds/
├── public/
└── uploads/

Dica: Para um backup completo funcional, deve guardar sempre código + base de dados + uploads + .env.

3. Exportar o Código

3.1 O que exportar

Copie ou compacte estes ficheiros e pastas:

index.js
package.json
package-lock.json
.env
config/
middleware/
models/
routes/
seeds/
public/
uploads/

3.2 O que não é necessário exportar

Normalmente não é necessário levar:

Atenção: Não copie node_modules do seu computador para o servidor. No destino, deve correr npm install.

3.3 Método recomendado

1 Crie um ZIP do projeto local sem node_modules.
2 Faça upload desse ZIP para o servidor.
3 Extraia o conteúdo na pasta da app Node.

4. Backup da Base de Dados MySQL

4.1 Via phpMyAdmin

1 Abrir o phpMyAdmin.
2 Selecionar a base de dados da plataforma.
3 Clicar em Export.
4 Escolher Quick ou Custom.
5 Exportar em formato SQL.

4.2 Via linha de comandos

mysqldump -h localhost -u NOME_UTILIZADOR -p NOME_BASE > gvff_grc_backup.sql

4.3 O que deve ser preservado

5. Enviar para o Servidor

5.1 Via File Manager do cPanel

1 Entrar no File Manager.
2 Abrir a pasta da aplicação Node.
3 Fazer upload do ZIP ou dos ficheiros atualizados.
4 Extrair ou substituir o conteúdo.

5.2 Via terminal / SSH

scp -r ./gvff-grc-platform/* utilizador@servidor:/home/UTILIZADOR/grc-gvff/

Dica: Antes de substituir a versão em produção, faça um backup da pasta anterior, por exemplo renomeando-a para grc-gvff-backup.

6. Configuração da App Node.js no cPanel

6.1 Campos principais

CampoValor típico
Node.js version20.x
Application modeProduction
Application rootpasta da app, ex: grc-gvff
Application URLdomínio ou subdomínio, ex: grc.gvff.pt
Application startup fileindex.js

6.2 Observação importante

Esta aplicação não usa build. O processo correto é:

npm install
npm start

Atenção: Não é necessário usar npm run build, porque o projeto não tem pipeline de compilação. O servidor arranca diretamente com node index.js.

7. Criação da Base de Dados no cPanel

7.1 Criar base e utilizador

1 Abrir Manage My Databases.
2 Criar a base de dados.
3 Criar o utilizador MySQL.
4 Associar o utilizador à base de dados.
5 Dar ALL PRIVILEGES.

7.2 Prefixos do cPanel

No cPanel, o nome real costuma ter prefixo da conta. Exemplo:

Base criada: grc_gvff
Base real no servidor: gvffpt_grc_gvff

Utilizador criado: grcgvffusr
Utilizador real no servidor: gvffpt_grcgvffusr

Importante: Use sempre no .env e nas variáveis da app o nome real completo, incluindo o prefixo do cPanel.

8. Importação do SQL

8.1 Importar via phpMyAdmin

1 Abrir o phpMyAdmin.
2 Selecionar a base correta.
3 Clicar em Import.
4 Escolher o ficheiro .sql.
5 Executar a importação.

8.2 Importar via terminal

mysql -h localhost -u UTILIZADOR -p NOME_BASE < gvff_grc_backup.sql

8.3 Quando não existe backup antigo

Se estiver a criar uma instalação nova sem dados anteriores, pode:

9. Variáveis de Ambiente

9.1 Formato atual

DB_HOST=localhost
DB_PORT=3306
DB_NAME=gvffpt_grc_gvff
DB_USER=gvffpt_grcgvffusr
DB_PASSWORD=********
JWT_SECRET=********
PORT=5000

9.2 Onde configurar

9.3 Recomendação prática

Em produção, mantenha as variáveis no painel da aplicação Node e use o .env como apoio local/documental.

Atenção: A versão atual da plataforma já não usa DATABASE_URL. Deve usar DB_HOST, DB_PORT, DB_NAME, DB_USER e DB_PASSWORD.

10. Instalação e Reinício

10.1 Instalar dependências

npm install

10.2 Arranque manual

npm start

10.3 Reinício no painel

No cPanel / Node.js App, usar a opção Restart.

10.4 Ordem correta após update

  1. Substituir ficheiros
  2. Confirmar variáveis de ambiente
  3. Executar npm install
  4. Reiniciar a app
  5. Testar login, registo e módulos

Dica: Se a app arrancar mas der erro de acesso à base de dados, confirme primeiro o nome real completo da base e do utilizador MySQL no cPanel.

11. Domínio e Subdomínio

11.1 Subdomínio recomendado

Para esta plataforma, é recomendável usar um subdomínio dedicado, por exemplo:

grc.gvff.pt

11.2 Passos

1 Criar o subdomínio no cPanel.
2 Associar a app Node a esse subdomínio.
3 Confirmar que o DNS aponta corretamente.
4 Validar o acesso via HTTPS.

Nota: Em ambiente Node no cPanel, o mais importante é o mapeamento correto do Application URL para o subdomínio criado.

12. Migração entre Ambientes

12.1 Cenário típico

Quando migrar a plataforma de um ambiente para outro:

  1. Fazer backup do código atual
  2. Fazer backup da base de dados MySQL
  3. Fazer backup da pasta uploads/
  4. Recriar a base no novo servidor
  5. Importar o SQL
  6. Subir os ficheiros do projeto
  7. Atualizar o .env
  8. Correr npm install
  9. Reiniciar e validar

12.2 Validação após migração

13. Ambiente Local (Opcional)

13.1 Quando faz sentido

O ambiente local só é necessário se quiser testar a app no seu computador com uma base de dados local.

13.2 Necessário para correr localmente

13.3 Observação prática

Se no computador não existir MySQL local, a aplicação pode arrancar parcialmente, mas falhará nas rotinas que dependem da base de dados.

Atenção: O sucesso do arranque local não substitui a validação no servidor de produção. O ambiente principal é o da Dominios.pt.

14. Checklist Final

#PassoEstado
1Backup do código criado
2Backup SQL da base MySQL criado
3Backup da pasta uploads criado
4Base MySQL criada no servidor destino
5Utilizador MySQL associado com ALL PRIVILEGES
6SQL importado com sucesso
7Ficheiros atualizados enviados para o servidor
8.env / variáveis da app atualizados
9npm install executado
10App reiniciada
11Login testado
12Registo testado
13Módulos principais validados
14Subdomínio / domínio validado
15Backup final pós-migração feito

Checklist de segurança:

  • Alterar passwords seed / default
  • Usar um JWT_SECRET forte
  • Guardar credenciais MySQL em segurança
  • Fazer backups regulares da base de dados e uploads
  • Manter Node.js e dependências atualizados

GVFF GRC Platform - Manual de Exportação, Importação e Migração

Documento atualizado para a versão em produção