エンジニアリングにはほど遠い

iPhoneアプリとかサイトとかをつくっていくブログです。

ポリモーフィック関連はアブナい?

参照整合性に違反することに基づいているからだという。

参照整合性はここに書かれている事で担保すると。
Railsでデータベースの不整合をおこさないための設定

多重テーブル継承

エンタープライズRailsに載っていたが、ポリモーフィック関連を使わずに近い事を実現する為に多重テーブル継承(MTI)という技術があるらしい。

テーブルに各テーブルへの参照キーをそれぞれ持たせて、 それらのうちでnullじゃないものが1つであるという担保をしたり、 nullじゃないものから参照先のクラスを取得したりして使う。

まあ、railsポリモーフィック関連を自分で作っちゃうというノリなのかなと思った。

自分はポリモーフィック関連を連打していたから次はMTIで作ってみたいと思う。