Adding Ecto and a Postgres database to StatWatch

Our StatWatch module has been serving Alchemist.Camp well, but let's add a database and work towards eliminating our reliance on .csv files.

This is our first video to cover Ecto so we went into some detail about getting it set up, creating a user for our db in psql, running

mix ecto.gen.repo
mix ecto.create
mix ecto.gen.migration (YOUR_MIGRATION)
mix ecto.migrate

And then we set up an Ecto Schema for our table, fired up iex and manually added and manipulated some data. Kernel.struct, Repo.insert, Repo.all, Repo.get, Repo.get_by, Repo.delete, Ecto.Changeset.change and Repo.update were used.

Finally we dealt with a common mix error that comes up when using Ecto in an OTP sub-application that's not an umbrella project.

Today's challenge

Read over the docs on Ecto Associations

Then figure out how we could create an association between the profiles we're collecting stats for and the stats we've collected.

Back to index