我正在编写一个 Rails 引擎来销售您自己网站上的活动门票。我正在实施门票折扣。我们将有很多潜在的折扣:
- 10% 折扣所有门票
- 购买 x 票或更多票可享受 10% 的折扣
- 买x送一
- 购买减 5 美元
- 购买 x 票或以上可减 $5
- 等等
我有一个折扣表,对于正在进行的每种折扣,我需要存储多种属性。我想我一般都喜欢回避 STI,因为我们正在进行的折扣种类繁多,而且在处理类似类型的折扣时很容易混淆数据。
我希望在 postgresql 中有一个使用 hstore 的属性列。但我还必须提供对 MySQL 和 SQLite 的支持。是否有一些简单的跨数据库兼容方法可以在任何给定的 SQL 数据库中存储类似 NoSQL 的数据?我应该用 Ruby 序列化所有内容吗?(我不会经常需要针对该列中的特定属性运行查询。)