PostgreSQLでテーブル継承機能を使う場合のActiveRecord側の対処

PostgreSQLにはテーブル継承という機能がある。
あまり利用されていないかもしれないが、
使いようによってはかなり便利な機能かもしれない。





ただ、これをRailsで使うには、
ActiveRecord::Baseを継承するモデル側で少し工夫をしてやらなければならない。
普通はテーブルの情報をDBから自動的に取得するのだが、
テーブル継承は少々特殊なので、この点がうまくいかないのだ。
だからモデル内で必要な情報を指定してあげなければならない。





こんな感じ





class SomeClass < ActiveRecord::Base
set_primary_key(:id)
end





単に主キーを明示的に指定するだけなのだが。





一応、備忘録として残したいと思う。