| Data de elaboração | 03/03/2026 |
|---|---|
| Responsável pelo estudo | Celso Dias de Oliveira Junior |
| Alvo | CodeFlow |
| Origem | O que originou o estudo? Necessidade de alteração de banco de dados do CodeFlow |
| Objetivo | Verificar a melhor opção de banco de dados para o sistema CodeFlow, em substituição ao SQLite |
| Observações | - |
Apresentar a justificativa técnica e arquitetural para a adoção do Sistema de Gerenciamento de Banco de Dados (SGBD) Microsoft SQL Server como repositório de dados oficial do projeto CodeFlow, substituindo a abordagem inicial baseada em banco de dados embarcado (SQLite).
O CodeFlow foi concebido para ser um sistema de gestão de fluxo de trabalho e rastreamento de tarefas (semelhante ao Jira). Sistemas dessa natureza possuem características altamente transacionais:
O SQL Server é o SGBD padronizado e mantido pela equipe de banco de dados da SETIC. Utilizar essa tecnologia elimina o esforço da equipe de desenvolvimento com tarefas de operação (DBA), garantindo que rotinas de backup, alta disponibilidade, replicação e segurança de rede já estejam cobertas pelas políticas institucionais existentes.
O projeto está sendo desenvolvido em C# utilizando o framework .NET 10. O pacote Microsoft.EntityFrameworkCore.SqlServer oferece o mais alto nível de otimização possível dentro do Entity Framework. A tradução do código C# para consultas SQL (LINQ to SQL) é nativa, garantindo máxima performance e reduzindo o tempo de desenvolvimento.
O SQL Server garante total conformidade ACID (Atomicidade, Consistência, Isolamento e Durabilidade). Isso blinda o CodeFlow contra corrupção de dados em caso de quedas de energia no servidor ou falhas de rede durante transações complexas, como migração de dezenas de tarefas de uma Sprint para outra.
A transição do banco embarcado (SQLite) para o servidor relacional (SQL Server) exige adequações na camada de infraestrutura do código e uma estratégia segura para a portabilidade dos dados que já estão em produção. Abaixo estão mapeadas as mudanças técnicas necessárias:
Atualização de dependências (Pacotes NuGet)
Como o SQLite e o SQL Server possuem motores de tipagem diferentes (por exemplo, o SQLite trata Strings como TEXT, enquanto o SQL Server otimiza para NVARCHAR(MAX)), o histórico de criação de tabelas do Entity Framework precisará ser resetado
Uma vez que o SQLite possui dados reais da coordenadoria em produção, a virada de chave exigirá um script de Extração, Transformação e Carga (ETL)
A adoção do Microsoft SQL Server é a escolha arquitetural mais segura, performática e alinhada estrategicamente. Ela garante que o CodeFlow tenha uma fundação robusta o suficiente para escalar de uma ferramenta interna para uma solução capaz de atender múltiplas equipes, sem a necessidade de refatoração futura do banco de dados.