我正在努力弄清楚如何设计我的PostgreSQL数据库表和Rails API模型,以便它们的关联可以在我的Ember前端以1:1实现,其中Ember和Rails可以通过通常理解的JSON流畅地进行通信。 (我在Rails端使用ActiveModelSerializers,在Ember端使用ActiveModelAdapter。)
基本想法之前我开始编写任何代码:rough class diagram
现在面临的挑战是:我不能在仅支持单表继承的Rails中实现这样的继承。使用STI,Product表将是50列以上的列,其中只有10个左右将在继承类之间共享。不理想......
另一方面,我不知道如何在Product和Type1 / 2/3之间建立简单的1:1关系,以便
我考虑的第三个选项 - 包含“name”,“value_num”,“value_int”,“value_boolean”和“value_text”列的属性表。产品将具有has_many属性,每个属性将属于产品。这将取消类型表,但也会导致不必要的大量行(例如100个产品,每个属性有40个属性= 4000行,而只有200个产品类型关联)。这会使访问产品属性变得更加困难(?)。
感谢任何帮助。另外,如果您更愿意为我想要实现的目标建议不同的数据库/前端/后端,请执行此操作。我对大部分内容都不熟悉,不了解不同方法的所有优点和缺点,而且我对此并不急。