私はいつも外部キーで立ち往生しているので、バグ追跡システムのどこに外部キーを置いておくべきかについて質問があります。バグ追跡システムでは、バグには常に単一のステータスがあり、少数のステータスしか存在しません (オープン、調査中、解決済み、承認待ち)。そのため、各ステータスには多くのバグが関連付けられています。私の仮定では、外部キーは Status テーブルの id 列を参照する status_id 列として Bug テーブルに存在する必要があります。これは安全な仮定ですか?
TABLE:
Bug
id integer
desc string
status_id integer fk
Status
id integer
desc string
RAILS MODEL:
Bug
has_one :status
Status
has_and_belongs_to_many :bugs