LoginSignup
1
1

More than 3 years have passed since last update.

Rails6でcomposite_primary_keys(複合主キー)を使う

Last updated at Posted at 2019-06-29

環境

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' 

この様に設定することで使える様になりました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1