0

爲什麼CMS數據庫(例如WP和PRESTASHOP)不在其表上使用外鍵?我認爲表應該有外鍵來防止孤行。爲什麼CMS數據庫不使用外鍵?

+0

這大部分是歷史的事情我猜,很多代碼和查詢都存在了很長時間。沒有人想要毫無意義地重構一個巨大的項目(沒有人真正關心孤兒行:-))。 WP和其他cms主要用於小型項目,當它們變得更大時,開發人員可以根據需要重新設計一些查詢。 – Alex

回答

1

從後(顯然是WP人員)摘自於
wordpress.org WordPress › Support » Plugins and Hacks » Hacks

與MySQL的問題是,只有少數安裝默認的InnoDB。大多數使用MyISAM表格是因爲它們更「適合初學者」。

由於這個WordPress以及我所見過的幾乎所有其他基於PHP的CMS,都必須認爲它將使用最小公分母,因此不需要引用的MyISAM表是必需的,因此它可以儘可能通用。

我會補充說WP系統已經被設置爲使用PHP代碼來執行它可以完成的完整性。這就是爲什麼總是最好使用內置的WordPress功能,而不是試圖推出自己的。

只有MySQL InnoDB存儲引擎強制執行外鍵聲明。但他們被視爲與MyISAM存儲引擎的評論,所以我不知道爲什麼他們沒有被宣佈。

帖子「自定義的Prestashop軟件解決方案和共享和專用虛擬主機服務」成員在
prestashop.com Forum > Technical Forum > Adapting my PrestaShop > Development

因爲它使用的是InnoDB時,才支持,而且不是每個人都使用了。

順便說一下,向後兼容性和徹底的測試並不是Prestashop出名的。