I have finally started working through this book. The downside of using an older book is that the samples use what is now ancient versions of Phoenix. I could install the older tools and try and make them work. This may or may not work due to distributed code rot (reliance on a library that no longer exists). Instead I have started from scratch.
Here is the repo that I am working on: https://github.com/chriseyre2000/absinthe_demo
My setup is simple.
I am using docker for postgres:docker run -d -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres:11
Don’t do this in production, but it’s a quick way to stand up a demo.
With this I created a simple phoenix application:mix phx.new a1_new
I have added the following to mix.exs:
{:absinthe, "~> 1.7.0"},
{:absinthe_plug, "~> 1.5.8"},
{:absinthe_phoenix, "~> 2.0.2"},
{:absinthe_relay, "~> 1.5.2"},
I copied over the repo migration scriptsmix ecto.create
mix ecto.migrate
I have also copied the default Schema to the new project.
So far this is enough to get the lookup_type working, once I noticed that you need to query form MenuItem, not menu_item (a level 8 network error).
I also needed to copy over the Ecto Schema from the sample (and fix up the module name).
Note that null: false
is no longer valid Ecto syntax (in fact never has been, it was just not raised as an error before).