elixir

January 22nd 2024, 6:00:00 am EST #

Interesting links from week 3 of 2024.

Here are some interesting things I’ve found this week. I’m just getting started with this, so it may be a slow ramp up.

Elixir

TIL

January 19th 2024, 9:44:48 am EST #

Running mix ecto.dump creates a structure.sql file in ./priv/repo.

This is easy to forget to keep updated, so one easy way is to add this in the aliases() function in mix.exs:

"db.migrate": ["ecto.migrate", "ecto.dump"]
"db.rollback": ["ecto.rollback", "ecto.dump"]
January 19th 2024, 8:27:45 am EST #

How to get a random number in Elixir.

iex(1)> :rand.uniform(6)

iex(2)> Enum.random(1..6)

Sometimes you need a unique integer, and of course Elixir has you covered. This is very useful for Factories if you want to implement something like sequences to avoid errors due to database unique constraints.

iex(1)> System.unique_integer(~w[monotonic positive]a)
1
iex(2)> System.unique_integer(~w[monotonic positive]a)
2
iex(3)> System.unique_integer(~w[monotonic positive]a)
3