Doorkeeper : Doorkeeper is an OAuth 2 provider for Rails.
https://github.com/doorkeeper-gem/doorkeeper
OAuth2 対応 APIを自前で用意するときに使えるえらいgemです。
さて、これを使うとき、resource_owner と 自分たちが持つアプリケーションのユーザーと紐付けるわけですが、紐付いているため、ユーザーのdestroyをしようとすると、DBでエラーを吐きます。
なので、関連する、DBエントリを一緒に削除すると考えることにしましょう。
user.rb
class User < ApplicationRecord
# Relationship
has_many :oauth_access_grants, class_name: 'Doorkeeper::AccessGrant', foreign_key: 'resource_owner_id', :dependent => :destroy
has_many :oauth_access_tokens, class_name: 'Doorkeeper::AccessToken', foreign_key: 'resource_owner_id', :dependent => :destroy
end