私は Rails エンジンを作成して、自分の Web サイトでイベントのチケットを販売しています。チケット割引実施中です。多くの潜在的な割引があります:
- すべてのチケットが 10% オフ
- x チケット以上の購入で 10% オフ
- xを購入すると1つ無料
- $5 割引
- x チケット以上の購入で $5 オフ
- 等
割引テーブルがあり、割引の種類ごとに複数の種類のプロパティを保存する必要があります。さまざまな割引が行われていることと、同様のタイプの割引を扱うときにデータを混同しやすいことから、私は一般的に STI から遠ざかっていると思います。
postgresql で hstore を使用してプロパティ列を作成したいと思います。しかし、MySQL と SQLite のサポートも提供する必要があります。特定の SQL データベースに NoSQL のようなデータを格納する、クロスデータベース互換の簡単な方法はありますか? Ruby ですべてをシリアル化する必要がありますか? (その列の特定のプロパティに対してクエリを実行する必要があることはあまりありません。)