Sie müssten zuerst die Identität entfernen, die auf den Benutzer verweist. Dann können Sie den Benutzer löschen. Standardmäßig führt der Fremdschlüssel eine restrict
durch Sie können den Benutzer also nicht löschen, wenn irgendetwas darauf verweist.
Wenn Sie Rails verwenden möchten, um die Zerstörung der Identität zu handhaben, können Sie dies tun
class User < ActiveRecord::Base
has_many :identities, dependent: :destroy
......
end
Was dazu führen würde, dass Rails alle abhängigen Datensätze zerstört.
Da Sie jedoch Fremdschlüssel verwenden, können Sie Ihre Migration anpassen, um Kaskadenlöschungen festzulegen
add_foreign_key :identities, :users, on_delete: :cascade
Angenommen Rails 4.2 mit nativer Unterstützung