1
我有兩個表:約束非ID在國外表
EMAIL_QUEUE
ID identity,
MIME_TYPE_ID int foreign key MIME_TYPE(id)
etc...
MIME_TYPE
ID identity,
MIME_TYPE varchar(300),
etc...
MIME_TYPEs目前尚未宣佈獨特。我想在我的EMAIL_QUEUE表上設置一個約束,以便它只接受某些MIME類型(text/plain和text/html)。這樣做的最佳做法是什麼?
- 使用自定義功能和檢查約束
- 充分利用MIME_TYPE列MIME_TYPE表的主鍵,把一個約束的可能值
- ?
好解決,但隨後如果ID是在不同的環境不同會發生什麼?我必須爲每個環境編寫不同的腳本。不幸的是,我不能保證text/plain的ID在每個環境中都是相同的(dev,qa,staging,prod) –
檢查約束無法查找其他表。使用源代碼控制的腳本來填充使用硬編碼(不是自動遞增的)鍵/值的「查找」表是一種很好的做法,因此您描述的問題類型不存在,這種解決方案將適用於您。表格的內容應隨每個代碼版本一起發佈。谷歌的「liquibase」就是一個很好的工具示例,可能對您有所幫助。 – Bohemian