環境
Ruby 2.6.3
Rails 6.0.0.rc1
composite_primary_keys 12.0.0.rc5
ActiveRecordで複合主キーを使いたい
SQLアンチパターンとしてもよく話題にあがる複合主キーですが
どうしても避けられない場合も有ると思います。
そんなあなたにcomposite_primary_keys
class User < A
self.primary_key = %i[company_id company_user_id]
has_one :email, foreign_key: %i[company_id company_user_id]
end
みたいな感じで使えます。
導入
gem 'rails', '=6.0.0.rc1'
gem 'composite_primary_keys'
上記の様に書いて bundle install
Gemfile.lock
composite_primary_keys (6.0.5)
6.0.5
が入るのですがRailsを立ち上げると動きません。
理由がここに書いて有りました
Version 12.x is designed to work with ActiveRecord 6.0.x
現在の12.xの最新は 12.0.0.rc5
の様子
gem 'rails', '=6.0.0.rc1'
gem 'composite_primary_keys', '=12.0.0.rc5'
この様に設定することで使える様になりました。