私はいくつかのデータベース/ウェブサイトで共有されている静的テーブルentry
を持っています。静的なことは、データが読み込まれたがウェブサイトによって更新されなかったことを意味する。現在、すべてのウェブサイトは同じサーバーから配信されますが、変更される可能性があります。データベースにないテーブルの外部キーORM
ウェブサイトごとにこのテーブルを作成/保守する必要性を最小限に抑えたいので、すべてのウェブサイトにアクセスできる共有ライブラリに格納されている変数に変更することを考えました。
私はORMを使用して、外部テーブルの制約を使用して、静的テーブルから使用されるIDの参照整合性を保証します。そのテーブルをMySQLデータベースから変数に取り除きます。そのテーブルから参照されるIDの参照整合性?私は完全にプログラムでそれをやらなければならないのか、それとも本当のdbテーブルからのものであるかのようにデータを扱うというトリックがありますか? refer
表がentry
テーブルのid
を参照されたフィールドlinkto
を持っていたところ(にPropelを使用して)
私のデータベースの定義は元々、このように見えました。 entry
テーブルがコード化されたので、私はもう外国キーのやり方をすることができません。何とか同じ効果を得ることができますか?
<table name="entry">
<column name="id" type="INTEGER" primaryKey="true" autoIncrement="true" />
<column name="title" type="VARCHAR" size="500" required="true" />
</table>
<table name="refer">
<column name="id" type="INTEGER" primaryKey="true" autoIncrement="true" />
<column name="linkto" type="INTEGER"/>
<foreign-key foreignTable="entry">
<reference local="linkto" foreign="id" />
</foreign-key>
</table>
そしてもちろん、これらは同じことを行うために、他の効率的な方法がありますか?私はちょうどいくつかのウェブサイトのためにそのテーブルを繰り返す必要はありません。
私はポストにあったにもかかわらず、SOは私のテーブル定義を表示していないようです。私はコードとしてこれを強調していますので、今は表示しています。これは少し物事を明確にすることを望む。 – sami
@サミ - それはまだそれが何のために使われているかを知るのに役立ちます。 – tvanfosson