自分自身に対して多対多を持つモデルのDBへ外部キー制約を追加する方法


以下のように自分自身に対して多対多の関係を持つモデルを使っています。

### models/user.rb

[code]

    has_many :friendships
    has_many :friends, through: :friendships
    
[/code]

### models/friendship.rb

[code]

    belongs_to :user
    belongs_to :friend, class_name: "User"
    
[/code]

この`Friendship`を作成する時に`create_table`で`foreign_key:
true`の制約をつけると当然ですがエラーになってしまいます。

[code]

    create_table :friendships do |t|
      t.references :user, foreign_key: true
      t.references :friend
    end
    
[/code]

ですので、以上のように制限無しで作成してしまっているのですが

この`friendships`の`friend_id`カラムに外部キー制約を追加するにはどのようにすればよいのでしょうか？



[code]

    t.references :friend, foreign_key: { to_table: :users }
    
[/code]

とすると、 `create_table` の中で実行できるような気がします。



[code]

    t.references :friend, foreign_key: { to_table: :users }
    
[/code]

とすると、 `create_table` の中で実行できるような気がします。

