The goal is to support soft delete functionality in Ecto.Repo
. With the suggestion by @imranismail, another repo is created and the remaining functionalities are delegate to the original MyApp.Repo
.
The new repo get/2
and all/1
functions will exclude the soft deleted record by default. delete/1
and delete_all/1
will update the delete_at
column by default instead of deleting.
MyApp.Repo.get(MyApp.User, 1) //will return nil if record is in soft delete state