我有一个tblProductSeller
模型User
医疗信息和医疗信息has_many
用户。
当我尝试删除具有相关记录(医疗信息)的belongs_to
时,User
会给我以下错误:
Ecto
我尝试在两个模型中将 ** (Ecto.ConstraintError) constraint error when attempting to delete struct:
* foreign_key: medical_informations_user_id_fkey
If you would like to convert this constraint into an error, please
call foreign_key_constraint/3 in your changeset and define the proper
constraint name. The changeset has not defined any constraint.
添加到我的默认变更集,但错误仍在继续。
答案 0 :(得分:6)
如果没有与Ecto.Changeset.no_assoc_constraint/3
相关联的记录,则Ecto有一个约束来检查是否可以删除条目。通过此验证,我得到一个很好的错误,我可以像associated_records are still associated to this entry
一样使用。
另一个有用的约束是Ecto.Changeset.foreign_key_constraint/3
,这对于保证只有在父数据库中也存在子项时才有用。