Ecto schemas vs. Ecto migrations

Data types in migrations can either be Ecto "primitive" types, or database types.

But, in schemas, you can only use the primitive data types.

Vim and ALE and elixir-ls

elixir-ls compiles your project in TEST mode in order to provide navigation/linting, so if there is something broken in that mode/environment, it will just not work.

Also, sometimes elixir-ls will just choke on the files it reads, and it will require a reboot; ALE's :ALEStopAllLSPs command will take care of that.

Elixir code formatting from vim

use mix format $FILENAME. From vim, it can be called with :!mix format %