I think I may have asked about this before, but that was at least a year ago and I can’t remember if it went anywhere. The idea I had was to support adding a :comment
option to an Ecto.Schema
field. This could help document the field and it would be useful in reflection and any plugins/add-ons that wanted to augment the Ecto experience. If :comment
were too specific, some other “meta” option (e.g. named meta
or even opts
) would be useful.
At the end of the day, all I really want to augment Ecto.Schema reflection so I can do something like this:
schema "something" do
field :my_field, :integer, default: "foo", comment: "Useful for reflection/introspection"
# or maybe
field :other_field, :string, meta: %{comments: "anything"}
end
and then:
iex> MySchema.__schema__(:comments, :my_field)
# or maybe
iex> MySchema.__schema__(:info, :my_field)
# or
iex> MySchema.__schema__(:meta, :my_field)
and see the data that I defined. It could be helpful if that function even returned a %Field{}
struct or something.
I couldn’t find a feature request in GitHub - elixir-ecto/ecto: A toolkit for data mapping and language integrated query. (even a closed one). Is anyone else excited about something like this?