What versions of Erlang/Elixir and PostgreSQL were used for the book’s code examples? Naturally, lots of changes have happened in the couple of years since it was published and working with the versions in use at the time will make the examples work without too much heartburn.
It should be compatible with new language and database versions and may also work with updated libraries (postgrex, ecto_sql, etc.), but to avoid issues, use the same major versions of deps as indicated in the book.
Erlang/OTP 22, Ecto 3.0. I’ll ask the authors about the possibility of a new edition. Postgres, it looks like the book was published just before v12, so probably 12, but possibly 11.
I’ve been playing around with versions for a while and so far the following has resulted in the least amount of warnings:
elixir 1.9.4-otp-22
erlang 22.3.4.26
I do get a couple deprecation warnings so it might be looking for an earlier version of Elixir but it’s good enough for a now.
warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead
warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead