67491


私はrails(6.0.3.1)上でridgepole(0.8.7)を使っています。

以下のようなテーブルがあります。

[![](https://www.plantuml.com/plantuml/png/SoWkIImgAStDuKhDAyaigLJmACrDp5Eevb9Gq5B8JB5IoCmhIKrFBLAmiIaeoinDBAgCpqwjjBC3owSLPQRcfSGZAwjHo2lDoG6gTlC6AghbWXXNKwERNmCrsaeXFm-
Xayi1I0Ej1m00)](http://www.plantuml.com/plantuml/png/SoWkIImgAStDuKhDAyaigLJmACrDp5Eevb9Gq5B8JB5IoCmhIKrFBLAmiIaeoinDBAgCpqwjjBC3owSLPQRcfSGZAwjHo2lDoG6gTlC6AghbWXXNKwERNmCrsaeXFm-
Xayi1I0Ej1m00)

このとき、friend_idにHumanテーブルからHumanテーブルへのforeign_keyを貼りたいのですがどうすればいいかわかりません。  
<https://github.com/winebarrel/ridgepole#foreign-key> には、from_table, to_table,
fk成約名しか引数にとってないように見えます。

[code]

    create table 略 |t|
      t.foreign_key 略 # ←これも試しに書いてみたが動かなかった(※rails_migrationには存在する)
    
[/code]


CC BY-SA 4.0
2020-06-09T13:57:19.730
67467
2020-06-10T06:12:43.853
427
question
ruby-on-rails
ridgepoleでforeign_keyをto_tableと別名のcolumn_nameで生成する方法


columnオプションで出来ました。

[code]

    add_foreign_key "humen", "humen", column: "friend_id"
    
[/code]

* * *

ソース

公式の返答  
<https://github.com/winebarrel/ridgepole/issues/300#issuecomment-641740617>

> The syntax of ridgepole basically follows the Rails migration.  
>  Please refer to the Rails documentation.

そしてrailsのAPI  
<https://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/Table.html#method-
i-foreign_key>


CC BY-SA 4.0
2020-06-10T05:48:59.557
67491
2020-06-10T06:12:43.853
2020-06-10T06:12:43.853
427
427
67467
answer