DEV Community

Sushant Bajracharya
Sushant Bajracharya

Posted on • Edited on

Ecto's Repo.insert

If you have default values set in your database, then Repo.insert will not return its value.

To return the value, you have to pass Repo.insert(returning: true)

If you dont want to do returning: true you can set default return value in your schema.

schema "rooms" do
  field :enable_chat, :boolean, default: false
end

Then when you do insert, it will return the default false

Top comments (2)

Collapse
 
sinni800 profile image
sinni800

That's a cool tidbit of info.

So, does this also count for auto-increment IDs then?

Collapse
 
sushant12 profile image
Sushant Bajracharya

By default, primary key typically :id are returned without even using returning: true.