Skip to content

JoaoRafa19/teste-vr-go

Repository files navigation

header

gopgsql

Teste VR

Execução

make up && make logs

Desenvolvimento

Aplicação backend de uma plataforma de cursos.

Utiliza sqlc para gerar as interfaces das entidades das tabelas dos bancos de dados (não é um ORM) e as queries SQL. Utiliza o tern para criar e executar as migations.

Go generate

Executa os comandos declarados em gen.go

package gen 


//go:generate go run ./cmd/tools/terndotenv/main.go
//go:generate sqlc generate -f ./internal/store/pgstore/sqlc.yml
go generate ./...

Migrations

Utiliazando o tern para criar migrações, mas para executar com o ambiente local do docker pelo arquivo .env utiliza o os\exec do go para rodar comandos no ambiente

go run ./cmd/tools/terndotenv/main.go

Queries

Usa sqlc para gerar as queries

sqlc generate -f ./internal/store/pgstore/sqlc.yml

Install all deps:

go mod tidy
  • tern
 go install github.com/jackc/tern/v2@latest
  • sqlc
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest

Observação

É necessário criar o arquivo .env na raiz do projeto e na pasta service core com as variáveis de ambiente necessárias ex.:

DATABASE_PORT=5432
DATABASE_USER="postgres"
DATABASE_PASSWORD="123456789"
DATABASE_NAME="plataforma-ead"
DATABASE_HOST="service-core-db"

Comandos principais

Rodando o container

make up

(ou com logs)

MODE=l make up
make up && make logs

Logs

Com o container já de pé ele vai acoplar o terminal ao terminal de logs do docker.

make logs

Restart

Reinicia o container

make restart

Parar

Encerra a execução da aplicação

make down

Dev dependencies

AIR (live reload do go)

go install github.com/air-verse/air@latest 

Comandos do projeto

Compilar os arquivo do sqlc

go gen ./...

Testes

Service Core

Executar testes service core

make test-service-core