requirement | release |
---|---|
docker | 24.0.8+ |
docker-compose | 2.19.0+ |
supabase-cli | >= 1.122.0 |
Como a opção padrão para executar o projeto é com Nix
, você pode controlar as configurações do postgresql via variáveis de ambiente, caso execute apenas o container do projeto. Caso esteja usando docker compose
, todas essas variáveis já são automaticamente configuradas:
DATABASE_HOST
DATABASE_PASSWORD
DATABASE_USER
PG_DATABASE
tanto nos ambiente de teste quanto para desenvolvimento.
Em seguida, execute o build dos containers.
$ docker compose build
Inicie os serviços da supabase:
supabase start
Depois, basta rodar o setup.
$ docker compose up
Dessa forma, o setup do banco, bem como todas as dependências serão instaladas e compiladas.
Inicie os serviços da supabase:
supabase start
Depois,
$ docker compose up
Ou caso precise de um REPL interativo com iex
:
$ docker compose run --rm pescarte
$ docker compose run --rm pescarte mix deps.get
$ docker compose run --rm pescarte mix ecto.migrate
$ docker compose run --rm pescarte mix ecto.rollback
$ docker compose run --rm pescarte mix ecto.reset
container | port |
---|---|
pescarte | 4000 |
database | 5432 |
Para rodar os testes localmente execute o comando:
$ docker compose run --rm pescarte mix test
É recomendável rodar os testes unitários sem efetuar a recriação do DB, pois o tempo de execução será sempre menor. Porém, se o banco de testes ficar em um estado em que os dados presentes influenciem na execução dos testes com sucesso, é recomendado recriá-lo.