⚙️ Fix: importação e seeders automáticos

### 📋 Descrição

Esta PR aborda dois pontos críticos identificados durante a execução do container da aplicação:

####  Correção de importação no `email_service.py`

- Corrigido o caminho da importação:
  - **De:** `from config.settings import settings`
  - **Para:** `from src.config.settings import settings`
- Essa alteração soluciona o erro `ModuleNotFoundError: No module named 'config'`, que impedia a inicialização da aplicação.

####  Execução automática dos seeders via Dockerfile

- Adicionado o script de seeders à sequência de inicialização da aplicação no Dockerfile.
- O comando de inicialização foi alterado para:
  ```bash
  alembic upgrade head && python -m scripts.run_seeders && uvicorn src.main:app --host $HOST --port $PORT
  ```
- Isso garante que os seeders (incluindo o usuário admin) sejam executados automaticamente após as migrações.

---

### 💥 Impacto

- Corrige o erro de importação, permitindo que a aplicação seja iniciada corretamente.
- Automatiza a criação do usuário admin e outros dados iniciais essenciais.
- Melhora a experiência de primeira execução, eliminando etapas manuais.

---

###  Testes realizados

- Verificado que a aplicação inicia corretamente após as alterações.
- Confirmado que os seeders são executados com sucesso, criando o usuário admin e outros dados iniciais conforme esperado.

---

### 📝 Observações

- O novo caminho de importação em `email_service.py` está alinhado com o padrão utilizado nos demais arquivos do projeto.
- Os seeders são executados somente após a conclusão bem-sucedida das migrações do banco de dados.
This commit is contained in:
OrionDesign 2025-05-16 01:51:47 -03:00
parent ddb7650f59
commit 1bcd76595c
2 changed files with 2 additions and 2 deletions

View File

@ -34,4 +34,4 @@ ENV PORT=8000 \
# Expose port # Expose port
EXPOSE 8000 EXPOSE 8000
CMD alembic upgrade head && uvicorn src.main:app --host $HOST --port $PORT CMD alembic upgrade head && python -m scripts.run_seeders && uvicorn src.main:app --host $HOST --port $PORT

View File

@ -37,7 +37,7 @@ import smtplib
from email.mime.text import MIMEText from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart from email.mime.multipart import MIMEMultipart
from pathlib import Path from pathlib import Path
from config.settings import settings from src.config.settings import settings
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)