Ecto.Repo.delete
You're seeing just the callback
delete
, go back to Ecto.Repo module for more information.
Specs
delete( struct_or_changeset :: Ecto.Schema.t() | Ecto.Changeset.t(), opts :: Keyword.t() ) :: {:ok, Ecto.Schema.t()} | {:error, Ecto.Changeset.t()}
Deletes a struct using its primary key.
If the struct has no primary key, Ecto.NoPrimaryKeyFieldError
will be raised. If the struct has been removed from db prior to
call, Ecto.StaleEntryError
will be raised.
It returns {:ok, struct}
if the struct has been successfully
deleted or {:error, changeset}
if there was a validation
or a known constraint error.
Options
:prefix
- The prefix to run the query on (such as the schema path in Postgres or the database in MySQL). This overrides the prefix set in the query and any@schema_prefix
set in the schema.:stale_error_field
- The field where stale errors will be added in the returning changeset. This option can be used to avoid raisingEcto.StaleEntryError
.:stale_error_message
- The message to add to the configured:stale_error_field
when stale errors happen, defaults to "is stale".
See the "Shared options" section at the module documentation for more options.
Example
post = MyRepo.get!(Post, 42)
case MyRepo.delete post do
{:ok, struct} -> # Deleted with success
{:error, changeset} -> # Something went wrong
end