|
|
||
|---|---|---|
| export_csv_20260130_184853 | ||
| init-scripts | ||
| .gitignore | ||
| Dockerfile | ||
| README.md | ||
| backup.ps1 | ||
| backup_global_20260130_184353.sql | ||
| chaves.md | ||
| docker-compose.yml | ||
| export_csv.ps1 | ||
| local_credentials.md | ||
| setup_local_env.ps1 | ||
README.md
Banco de Dados Pralog
Este repositório contém a configuração Docker para o banco de dados PostgreSQL do sistema Pralog.
📋 Visão Geral
- Banco: PostgreSQL 16 Alpine
- Container:
pralog-local-db - Rede Docker:
pralog-net - Porta Externa:
15432 - Porta Interna:
5432
🔐 Credenciais
Ambiente Local (Docker)
| Campo | Valor |
|---|---|
| Host | localhost |
| Porta | 15432 |
| Usuário | itguys |
| Senha | PralogLocal2026!Secure |
| Database | global |
Connection String:
postgresql://itguys:PralogLocal2026!Secure@localhost:15432/global
Ambiente de Produção (AWS RDS)
As credenciais de produção estão documentadas em chaves.md.
🚀 Como Usar
Pré-requisitos
- Docker Desktop instalado e rodando
- PowerShell (Windows)
Iniciando o Container
docker-compose up -d
Parando o Container
docker-compose down
Verificando Status
docker ps -f name=pralog-local-db
🔄 Restaurando o Backup
O arquivo de backup está montado dentro do container em /tmp/restore.sql.
Passo a Passo
-
Acesse o container:
docker exec -it pralog-local-db sh -
Execute o restore:
psql -U itguys -d global -f /tmp/restore.sql -
Verifique os dados:
psql -U itguys -d global -c 'SELECT count(*) FROM "GlobalDriver"'
📁 Estrutura do Projeto
banco-pralog/
├── docker-compose.yml # Configuração do container
├── backup_global_*.sql # Backup do banco de dados
├── chaves.md # Credenciais (produção e local)
├── local_credentials.md # Credenciais do ambiente local
├── init-scripts/
│ └── 01-create-role.sql # Script de criação de roles
├── pg_data/ # Volume de dados (gitignore)
└── README.md # Este arquivo
🐳 Configuração Docker
docker-compose.yml
O arquivo docker-compose.yml define:
- Imagem:
postgres:16-alpine(leve e compatível com o backup) - Volumes:
./pg_data→/var/lib/postgresql/data(persistência de dados)./backup_*.sql→/tmp/restore.sql(arquivo de backup)./init-scripts/*.sql→/docker-entrypoint-initdb.d/(scripts de inicialização)
- Rede:
pralog-net(bridge isolada) - Porta:
15432:5432
Persistência de Dados
Os dados do PostgreSQL são armazenados em ./pg_data/. Este diretório:
- ✅ Persiste entre restarts do container
- ✅ Persiste após
docker-compose down - ✅ Persiste após redeploy/pull
- ❌ Não é enviado ao Git (está no
.gitignore)
Para resetar o banco completamente:
docker-compose down
Remove-Item -Recurse -Force .\pg_data\*
docker-compose up -d
📊 Tabelas Principais
| Tabela | Descrição |
|---|---|
GlobalDriver |
Motoristas globais |
GlobalDriverTenant |
Relação motorista-tenant |
Tenant |
Tenants/empresas |
TenantDomain |
Domínios dos tenants |
global_driver_bank_account |
Contas bancárias dos motoristas |
global_integration |
Integrações (Planner, IdWall) |
request_log |
Log de requisições da API |
🛠️ Manutenção
Fazer Backup
.\backup.ps1
Exportar para CSV
.\export_csv.ps1
⚠️ Notas Importantes
- Porta 15432: Usamos porta não-padrão para evitar conflitos com PostgreSQL local.
- Rede isolada: O container roda em rede
pralog-netpara compatibilidade com Portainer. - Restore manual: O backup não é restaurado automaticamente ao iniciar o container.