アプリケーションで「foriegner」gemを使用して主キーを設定していますが、現在、テーブルに複合主キーを設定する状況にあります。
私はこれをウェブで検索しましたが、これに対する明確な解決策を見つけることができませんでした。
外国人の宝石を使用したり、その他の方法でRailsアプリケーションに複合キーを設定できるかどうかを教えてください。
注:私はPostgresを使用しています
ありがとう。
アプリケーションで「foriegner」gemを使用して主キーを設定していますが、現在、テーブルに複合主キーを設定する状況にあります。
私はこれをウェブで検索しましたが、これに対する明確な解決策を見つけることができませんでした。
外国人の宝石を使用したり、その他の方法でRailsアプリケーションに複合キーを設定できるかどうかを教えてください。
注:私はPostgresを使用しています
ありがとう。
短い答え: Rails で複合 PK を使用しないでください (レガシー DB のために強制されない限り)。
(現在)動作するgemを使用したソリューションがあるかもしれませんが、これはActiveRecordの動作方法ではありません。また、よほどの理由がない限り、Rails 以外で複合 PK を使用することもありません。それらは多くのことをより複雑にします。
しかし: 複合主キーを代替キーと見なし、Rails の既定の PK (postgres: シーケンスから値を取得する疑似型 'serial') を持つことを妨げるものは何もありません。キーを構成する列に一意のインデックスを追加するようにしてください。