2

まったく理解できない設計上の問題に直面しています。DB に Timed_Tests というテーブルがあります。Timed_Tests には、Timed_Test というモデルが関連付けられています。

最近、わずかに異なる機能を持つ 3 種類の Timed_Test が実際には必要であることに気付きました。現在の Timed_Test があり、Timed_Test の終了日がない Test_Basic があり、いくつかの属性が追加された Special_Test があります。

これを設定する最善の方法を見つけようとしています。さまざまな種類のすべてのテストのさまざまな種類の属性をすべて含む、1 つの大きなテスト テーブルを作成する必要がありますか? クラスの継承構造をどのように設定すればよいですか? citier (http://peterhamilton.github.com/citier/) を使用する必要がありますか? ミックスインはどのように DB スキーマに適合しますか?

私はたくさんの質問をしましたが、それらは私が知っている少しあいまいです.

本当にありがとう!

4

1 に答える 1

0

SpecialTest インスタンスの特定の属性が多くない場合は、単一テーブルの継承を安全に使用できます。このようにして、マッピングの単純さを維持しながら、任意の方法でクラスの動作を自由に特化できます。

ミックスインを使用すると (テーブルの継承がまったくないため)、クラス全体でテスト インスタンスを取得できなくなります。

于 2012-06-20T20:45:18.510 に答える