2
respostas

go run main.go parado após criação da conexão com banco de dados

  • após criar o db.go e no main.go, colocar database.ConectaComBancoDeDados() o console simplesmente fica parado e nada acontece, não roda o próximo fmt.Println();

Print

2 respostas

Olá, Gabriel!

Você poderia enviar o código completo do seu projeto no github? Assim posso te ajudar melhor

No entanto, pelo que você descreveu, parece que o programa está aguardando uma resposta do banco de dados e não está conseguindo prosseguir. Isso pode ocorrer por vários motivos, como um erro na string de conexão, o banco de dados não estar disponível ou problemas na configuração do banco.

Para investigar o que está acontecendo, sugiro que você adicione algum tipo de log ou mensagem de erro na função ConectaComBancoDeDados(). Isso pode te ajudar a identificar se a conexão está sendo estabelecida corretamente ou se algum erro está ocorrendo.

Por exemplo:

func ConectaComBancoDeDados() *sql.DB {
    db, err := sql.Open("mysql", "user:password@/dbname")
    if err != nil {
        log.Fatal(err)
    }
    err = db.Ping()
    if err != nil {
        log.Fatal(err)
    }
    return db
}

Neste exemplo, log.Fatal(err) irá parar a execução do programa e imprimir a mensagem de erro se algo der errado na conexão com o banco de dados. Isso pode te dar uma pista do que está acontecendo.

Espero ter ajudado e bons estudos!

Olá Camila,

o DB agora já é com ORM, mas segue o link para acesso ao repositório:

https://github.com/brielsene/api-go-rest

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software