Para realizar essa operação, são necessários os seguintes passos:
-
Implementar uma função de Inserção em lote (Batch Insert):
- Essa função é crucial para otimizar a inserção de grandes quantidades de dados na base.
-
Desenvolver uma função para realizar o Parse dos registros do CSV:
- Essa função é responsável por extrair as informações de cada registro do arquivo CSV.
-
Configurar o formulário para carregar o arquivo CSV:
- Permitir que os usuários enviem arquivos CSV através do formulário.
-
Abrir o arquivo CSV:
- Após o envio pelo formulário, é necessário abrir o arquivo CSV para leitura.
-
Ler cada linha do arquivo:
- Iterar sobre cada linha do arquivo CSV para obter os registros individuais.
-
Inserir em lote (Batch Insert):
- Utilizar a função de inserção em lote para efetivar os registros na base de dados.
Observações
Ao ler o arquivo CSV, é possível realizar validações em cada registro. Em caso de erro, é importante apresentar a linha afetada e o detalhe do problema ocorrido.
A inserção em lote proporciona melhorias de desempenho, uma vez que utiliza o mecanismo de transação da base de dados. Os registros são inseridos de uma só vez, e caso ocorra falha em algum deles, a operação é revertida, assegurando a integridade dos dados.
Código Fonte: https://github.com/ortizdavid/golang-fiber-webapp