requirement | release |
---|---|
docker | 24.0.8+ |
docker-compose | 2.19.0+ |
asdf | 0.9.0+ |
asdf-postgres | - |
asdf-elixir | - |
asdf-erlang | - |
supabase-cli | >= 1.122.0 |
Dentro do diretório do projeto, execute:
asdf install
Serão baixadas as versões exatas da Erlang/OTP
, Elixir
e Postgres
usadas no projeto.
Carrege as varáveis de ambiente contidas em .env.dev
:
source .env.dev
Inicia os serviços do supabase (precisa do docker):
supabase start
Instale as dependências do projeto:
mix deps.get
Configure seu banco local em config/dev.exs
e crie seu banco de dados junto com as migrations:
mix ecto.setup
Inicie os serviços da supabase:
supabase start
Suba o servidor do Phoenix
normalmente:
iex -S mix phx.server
O servidor estará disponível em localhost
, na porta 4000
.
mix ecto.migrate
mix ecto.rollback
mix ecto.reset
Para rodar os testes localmente execute o comando:
mix test
E para rodar todos os testes (format
, credo
e test
) use:
mix ci
É 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.
Para recriar o banco de testes, rodar as seeds e os testes unitários
(ecto.drop
, ecto.create
, ecto.migrate
, seeds
e test
) execute:
mix test.reset