Skip to content

Adaptação de scripts e comandos para compatibilidade com Windows #1078

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

Richards0nd
Copy link
Contributor

Adaptação de scripts e comandos para compatibilidade com Windows

Descrição do PR

Este PR implementa as seguintes mudanças para garantir que os scripts do projeto funcionem corretamente no Windows:

  1. Adaptação de comandos Linux para Windows:

    • Substituição de comandos incompatíveis como rm -rf e cp -r por equivalentes nativos do Windows (rmdir e xcopy).
    • Ajustes para garantir que caminhos sejam interpretados corretamente no ambiente Windows, utilizando barras invertidas (\\) e aspas duplas quando necessário.
  2. Dinamização do uso de DATABASE_PROVIDER:

    • Adicionada lógica no arquivo runWithProvider.js para substituir o placeholder DATABASE_PROVIDER dinamicamente, com base na variável de ambiente definida no .env.
    • Em caso de ausência de DATABASE_PROVIDER no .env, o sistema utiliza o valor padrão (postgresql), com logs claros para o usuário.
  3. Validação do diretório de migrations:

    • Verificação da existência do diretório prisma/migrations antes de tentar removê-lo, evitando erros desnecessários.
  4. Melhorias nos logs e manuseio de erros:

    • Logs informativos sobre a execução de comandos e fallback em caso de falha.
    • Mensagens de erro claras quando um comando falha ou uma configuração está ausente.

Como testar

  1. Certifique-se de que o arquivo .env contém a variável DATABASE_PROVIDER. Por exemplo:

    DATABASE_PROVIDER=postgresql
  2. Execute o comando ajustado para Windows:

    npm run db:deploy:win
  3. Valide os seguintes comportamentos:

    • O diretório prisma/migrations é removido corretamente, se existir.
    • O conteúdo de prisma/{DATABASE_PROVIDER}-migrations é copiado para prisma/migrations.
    • O comando npx prisma migrate deploy é executado sem erros.
  4. Teste em diferentes cenários:

    • Diretório de migrations existente.
    • Diretório de migrations ausente.

Problemas resolvidos

  • Scripts incompatíveis com Windows.
  • Erros ao tentar remover diretórios inexistentes.
  • Placeholder DATABASE_PROVIDER não sendo substituído dinamicamente.

Notas adicionais

  • Scripts para Linux/macOS permanecem inalterados.
  • Foi mantida a compatibilidade multiplataforma para facilitar o desenvolvimento em diferentes ambientes.

@DavidsonGomes DavidsonGomes merged commit c4e87c1 into EvolutionAPI:develop Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants