# 🔧 Configurar .env em Homologação - URGENTE

## ⚠️ Problema Atual

A aplicação em homologação está tentando acessar:
- ❌ `DB_DATABASE=waygest_gestao` (PRODUÇÃO - errado!)

Mas deveria acessar:
- ✅ `DB_DATABASE=waygest_gestao_homologacao` (HOMOLOGAÇÃO - correto!)

O site está online em http://homologacao.gestao.waygest.com.br/login mas com o banco errado.

## 🚀 Solução: Criar/Editar `.env` no Servidor

### **Opção 1: Via SSH (Mais Rápido)**

1. **Conectar ao servidor:**
```bash
ssh <usuario>@<host_homologacao>
```

2. **Ir para o diretório de homologação:**
```bash
cd /caminho/no/servidor/homologacao.gestao.waygest.com.br
```

3. **Fazer backup do .env atual (se existir):**
```bash
cp .env .env.backup-$(date +%Y%m%d-%H%M%S)
```

4. **Criar o novo arquivo .env com as configurações corretas:**
```bash
cat > .env << 'EOF'
APP_NAME="WayGest Gestao - Homologacao"
APP_ENV=homologacao
APP_KEY=base64:<gerar_com_php_artisan_key_generate>
APP_DEBUG=true
APP_URL=http://homologacao.gestao.waygest.com.br
SESSION_SECURE_COOKIE=true

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=waygest_gestao_homologacao
DB_USERNAME=waygest_gestao_homologacao
DB_PASSWORD="<secret_mysql_homologacao>"

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_CONNECTION=
SESSION_STORE=
SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_URL=smtp://usuario:senha@mail.exemplo.com.br:465
MAIL_HOST=mail.waygest.com.br
MAIL_PORT=465
MAIL_USERNAME=send@waygest.com.br
MAIL_PASSWORD=<secret_smtp>
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=send@waygest.com.br
MAIL_FROM_NAME="WayGest Homologacao"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1

VITE_PUSHER_APP_KEY=
VITE_PUSHER_HOST=
VITE_PUSHER_PORT=
VITE_PUSHER_SCHEME=
VITE_PUSHER_APP_CLUSTER=

# Configurações especificas do sistema de Gestao
GESTAO_MASTER_DB_HOST=mysql
GESTAO_MASTER_DB_PORT=3306
GESTAO_MASTER_DB_USERNAME=root
GESTAO_MASTER_DB_PASSWORD=<secret_mysql_master>

# Caminho para as instalacoes
GESTAO_INSTALACOES_PATH=/var/www/waygest-instalacoes

# Configurações de subdominio
GESTAO_DOMAIN_BASE=waygest.local
GESTAO_SSL_ENABLED=false

# Configurações de monitoramento
GESTAO_MONITORING_ENABLED=true
GESTAO_LOG_RETENTION_DAYS=30

# Google Gemini AI para analise de logs
GOOGLE_GEMINI_API_KEY=
EOF
```

5. **Definir permissões corretas:**
```bash
chmod 644 .env
chown waygest:waygest .env
```

6. **Limpar TODOS os caches:**
```bash
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan optimize:clear
```

7. **Verificar se está usando o banco correto:**
```bash
php artisan tinker --execute="echo config('database.connections.mysql.database');"
```

Deve mostrar: `waygest_gestao_homologacao`

8. **Testar a aplicação:**
```bash
curl -I http://homologacao.gestao.waygest.com.br/login
```

---

### **Opção 2: Via FTP (Se não tiver SSH)**

1. **Conectar via FTP:**
   - Host: `<FTP_HOST>` (variável GitLab CI / gestão de segredos)
   - Porta: `21`
   - Usuário: `<FTP_USER>`
   - Senha: `<FTP_PASSWORD>` (nunca versionar)

2. **Navegar até:**
   ```
   /caminho/remoto/homologacao.gestao.waygest.com.br/
   ```

3. **Fazer backup do arquivo `.env` existente:**
   - Baixar o arquivo `.env` para seu computador
   - Renomear para `.env.backup`

4. **Criar novo arquivo `.env` localmente:**
   - Copiar o conteúdo da seção "Arquivo .env Completo" abaixo
   - Salvar como `.env` (sem extensão extra)

5. **Fazer upload do novo `.env`:**
   - Enviar o arquivo `.env` para o servidor
   - Sobrescrever o arquivo existente

6. **Limpar cache via arquivo PHP temporário:**
   - Criar arquivo `clear-all-cache.php` no diretório `public/`
   - Ver instruções abaixo

---

### **Arquivo PHP para Limpar Cache (Via FTP)**

Crie este arquivo em `/home/waygest/homologacao.gestao.waygest.com.br/public/clear-all-cache.php`:

```php
<?php
// ARQUIVO TEMPORÁRIO - DELETAR APÓS USO!
// Este arquivo limpa todos os caches do Laravel

chdir(__DIR__ . '/..');
require __DIR__ . '/../vendor/autoload.php';

$app = require_once __DIR__ . '/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);

echo "<html><head><title>Limpeza de Cache</title></head><body>";
echo "<h1>🧹 Limpando Caches do Laravel...</h1>";

$commands = [
    'config:clear' => 'Limpar cache de configuração',
    'cache:clear' => 'Limpar cache de aplicação',
    'route:clear' => 'Limpar cache de rotas',
    'view:clear' => 'Limpar cache de views',
    'optimize:clear' => 'Limpar todos os caches de otimização'
];

foreach ($commands as $command => $description) {
    echo "<p><strong>{$description}:</strong> ";
    try {
        $kernel->call($command);
        echo "<span style='color:green;'>✅ OK</span></p>";
    } catch (Exception $e) {
        echo "<span style='color:red;'>❌ Erro: {$e->getMessage()}</span></p>";
    }
}

echo "<h2>🔍 Verificando Configuração do Banco de Dados:</h2>";
$dbName = config('database.connections.mysql.database');
$dbHost = config('database.connections.mysql.host');
echo "<p>Host: <strong>{$dbHost}</strong></p>";
echo "<p>Database: <strong>{$dbName}</strong></p>";

if ($dbName === 'waygest_gestao_homologacao') {
    echo "<h2 style='color:green;'>✅ CONFIGURAÇÃO CORRETA!</h2>";
    echo "<p>O banco de dados está configurado corretamente para HOMOLOGAÇÃO.</p>";
} else {
    echo "<h2 style='color:red;'>❌ CONFIGURAÇÃO INCORRETA!</h2>";
    echo "<p>O banco está: <strong>{$dbName}</strong></p>";
    echo "<p>Deveria ser: <strong>waygest_gestao_homologacao</strong></p>";
}

echo "<hr>";
echo "<p style='color:red; font-weight:bold;'>⚠️ IMPORTANTE: DELETAR ESTE ARQUIVO APÓS USO!</p>";
echo "<p><a href='/login'>← Voltar ao Login</a></p>";
echo "</body></html>";
```

Depois acesse: http://homologacao.gestao.waygest.com.br/clear-all-cache.php

**⚠️ DELETAR O ARQUIVO `clear-all-cache.php` APÓS USO!**

---

## 📊 Verificar se Funcionou

Após seguir os passos acima:

1. ✅ Acesse http://homologacao.gestao.waygest.com.br/login
2. ✅ Não deve mais aparecer erro de banco de dados
3. ✅ Deve conectar ao banco `waygest_gestao_homologacao`

---

## 🎯 Configurações Importantes

As configurações críticas que foram alteradas:

```bash
# ANTES (ERRADO - Produção)
DB_DATABASE=waygest_gestao
DB_USERNAME=waygest_gestao
DB_PASSWORD=<secret_producao_nao_versionar>
CACHE_DRIVER=redis
SESSION_DRIVER=redis

# DEPOIS (CORRETO - Homologação)
DB_DATABASE=waygest_gestao_homologacao
DB_USERNAME=waygest_gestao_homologacao
DB_PASSWORD="<secret_mysql_homologacao>"
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=sync
```

---

## 🔐 Segurança

**IMPORTANTE:**
- ✅ O arquivo `.env` agora está **PROTEGIDO** no CI/CD
- ✅ O deploy **NÃO sobrescreve** mais o `.env` do servidor
- ⚠️ Você deve **gerenciar manualmente** o `.env` em cada ambiente
- ⚠️ **NUNCA** commitar arquivos `.env` com senhas reais no Git

---

## ✅ Checklist

- [ ] Conectar ao servidor (SSH ou FTP)
- [ ] Fazer backup do `.env` atual
- [ ] Criar/editar `.env` com as configurações corretas
- [ ] Limpar todos os caches do Laravel
- [ ] Verificar se o banco está correto (`waygest_gestao_homologacao`)
- [ ] Testar o login em http://homologacao.gestao.waygest.com.br
- [ ] Deletar arquivo temporário `clear-all-cache.php` (se criado)

---

**Data:** 2025-10-10  
**Prioridade:** 🔴 URGENTE  
**Status:** Aguardando correção manual no servidor

