EctoMissingFields

Warns you if forgot to add a field to your @required_fields/@optional_fields list.

If you’ve added field definition to your Ecto schema but not added it to these lists (used in the changeset call), then the field won’t be persisted to the database. This can either lead to subtle bugs, or momentary confusion during development when adding new fields!

When enabled, an exception will be thrown if any schema fields were not passed to the changset.

Usage

  1. Add ecto_missing_fields to your list of dependencies in mix.exs:
```elixir
def deps do
  [
    {:ecto_missing_fields, "~> 0.1.0"},
  ]
end
```
  1. Use EctoMissingFields in your model or web.exmodel macro:

     def model do
       quote do
         use Ecto.Schema
         use EctoMissingFields
         
       end
     end
  2. Add a call to check_missing_fields!() to the end of your model’s changeset/2 pipeline:

```elixir
def changeset(model, params \\ :empty) do
  model
  |> cast(params, @required_fields, @optional_fields)
  …
  |> check_missing_fields!()
end
```
  1. You can disable checking in production using the prod.exs config file:
```elixir
config :ecto_missing_fields,
  enabled: false
```