serializeのラッパー。アクセサを自動的に定義してくれる。YAMLで保存する。
メリット
- テーブルのカラム変更しなくて良い
- ハッシュを保存できるなどスキーマの自由度高い
- バリデーション、フォームはカラム定義した場合と同じように上手く動作する
デメリット
- YAMLのパースが遅い
- 一覧するだけでもかなり重くなる場合がある。
- Marshalにする
- save時に必ずUPDATEが走る
- 検索が大変
- 必要になったら、検索用カラムを追加するのでもいい
- SQLでソートできない
- ruby側でがんばるか、必要になったらカラム追加でもいい
- データ構造が標準化されない