PHP/MySQL を使用してマルチテナント Web アプリケーションに取り組んでいます。そして、外部キーとデフォルト値に関する一般的な慣習の問題にたどり着きました。
アプリケーションのさまざまなアクションのために送信されるメールで使用されるテンプレートを格納するMailTemplateテーブルがあります。表の列は次のとおりです。
MailTemplate
id (PK)
company_id (FK)
name
subject
body
company_id 列はCompanyテーブルを参照します。基本的に、企業はアクション用にさまざまなテンプレートを作成できます。しかし、会社が個人用テンプレートのカスタマイズを選択しない場合に備えて、アクションごとに定義済みのテンプレートも用意したいと考えています。
これらのデフォルト テンプレートをこのテーブルに格納することになっていると思います。しかし問題は、デフォルト テンプレートの *company_id* 列をNULLのままにしておくべきか、それともCompanyテーブルにダミーの行を作成し、その行の ID をMailTemplateテーブルで参照するべきかということです。
いろいろ調べてみましたが、みんなやり方が違うようです。この場合の一般的な慣習は何なのか疑問に思っています。
前もって感謝します。