遷移 WordPress 數據庫入門:基本數據庫知識

在處理基于 WordPress 的項目時,可以說部署中最令人沮喪或最乏味的方面之一實際上是使環境中的數據庫彼此同步。

當然,在開發中使用測試數據、在暫存中使用用戶數據以及在生產中使用實際數據是有道理的,但沒有什么靈丹妙藥,對吧?這意味著測試數據有時會起作用;其他時候則不會。

例如,假設您繼承了一個項目,您必須為其拉取數據庫,然后開始使用現有數據?;蛘呒僭O您必須將整個網站或應用程序從一臺服務器遷移到另一臺服務器。

在這種情況下,測試數據并沒有多大幫助。相反,您需要一個工具。當然,WordPress 導入器對于基本遷移來說是一個不錯的工具,如果您熟悉數據庫前端并使用 sql 本身,那么運行 SQL 導出和導入是可以的。

但是那些介于兩者之間的人呢?


讓遷移變得更容易

事實是,當涉及到 WordPress 數據庫遷移時,這是一個魚龍混雜的情況,因為我們中的許多人的技能水平因我們最常使用的的哪一部分而異。

我的意思是:

  • 那些更熟悉前端工作的人可能不太熟悉應用程序層和/或數據庫層
  • 習慣于應用層工作的人可能對前端也很擅長,但對數據庫卻不太擅長(反之亦然)
  • 那些生活在數據庫中的人可能會對上面的層感到不舒服

這并不是說沒有全棧開發人員。顯然,有;然而,并不是每個人都處于這個位置。

因此,當談到遷移 WordPress 數據庫時,有些人的處境比其他人困難得多?;蛘?,盡管人們對 SQL 很熟悉,但有些人可能只是在尋找一種工具來幫助簡化整個過程。

在本系列中,我們將介紹一個能夠實現此目的的實用程序,但在此之前,讓我們快速了解一下 WordPress 數據庫,以確保我們能夠都在同一頁面上。


WordPress 數據庫

當談到討論 WordPress 數據庫時,可以寫一整系列的文章來討論每個表、每個列、架構、如何編寫最佳查詢等等。

這不是一個系列。

相反,我們將在本文中做兩件事:

  1. 我們將確保我們都對數據庫有一個清晰的概念性理解,以便我們知道如何在腦海中描繪它
  2. 我們將查看 WordPress 數據庫中的每個,以了解每個表保存的數據類型

最終,這應該有助于為那些在前端花費更多時間的人解釋或揭開一些底層工作的神秘面紗,并且可能幫助那些花更多時間在應用程序層使用 WordPress API 的人了解哪些功能匹配到哪個表(這最終可以編寫更好的代碼)。

什么是數據庫?

總的來說,我想Wptuts+的大多數讀者都知道什么是數據庫。

直接來自維基百科:

數據庫是有組織的數據集合。這些數據通常被組織為對現實的相關方面進行建模(例如,酒店房間的可用性),以支持需要此信息的流程(例如,查找有空房的酒店)。 這是一個公平的定義,但我認為它不能很好地說明 WordPress 數據庫或類似的 Web 應用程序 – 它有點太籠統了。因此,從這里開始,讓我們創建自己的工作定義,以便在本系列的其余部分中使用。 讓我們試試這個: 數據庫至少由一張表組成。表由行和列組成,每行都存儲唯一的信息。每行稱為一條記錄。一個數據庫中可以存在多個表,有時表之間可以相互關聯。

也許我上面分享的內容中最令人困惑的部分是表可以相互關聯。我們將在文章結束之前重新討論這個想法 – 但首先,讓我們討論一下 WordPress 數據庫。

WordPress 數據庫架構

簡而言之,WordPress 數據庫由 11 個表組成(除非您使用 Multisite,但這超出了本系列的范圍)。

現在,每個表還有自己的一組列,表示表中存儲的各種信息。例如,wp_posts 表有一個名為 post_content 的列,它表示存儲在帖子中的實際內容。

表格及其說明如下:

  • wp_users 包含注冊 WordPress 安裝的用戶列表。這包括電子郵件地址、密碼、顯示名稱等。
  • wp_usermeta包含與每個用戶相關的信息。您可以在此處存儲有關每個用戶的其他信息。
  • wp_posts 是存儲所有帖子信息的地方。事實上,無論是帖子、頁面還是自定義帖子類型,標題、內容等所有信息都存儲在此處。
  • wp_postmeta 是存儲每個帖子的元數據的位置。通過此表,您可以保存和檢索有關每個帖子的更多信息。
  • wp_comments 是存儲每個帖子的評論(同樣,無論類型如何)的位置。
  • wp_commentmeta 與其他“元”表一樣,您可以存儲比評論表中已保存的更多有關每條評論的信息。
  • wp_terms存儲類別和標簽的位置。由于帖子、頁面、自定義帖子類型、類別和標簽之間的關系可能會變得更加復雜,因此需要一些額外的表格。
  • wp_term_taxonomy 提供 wp_terms 表格中類別或標簽(甚至是鏈接,如果您仍在使用它們)的說明。
  • wp_term_relationship?存儲給定帖子與其類別(或多個類別)和/或標簽(或多個標簽)的關系。
  • wp_options 是保存所有設置的位置 – 這包括使用 WordPress 附帶和配置的設置以及使用設置 API 創建的設置。
  • wp_links 是一個仍然存在于 WordPress 數據庫中的表,盡管不再有數據的 ui 選項。如果您曾經使用過此功能,那么您就會熟悉鏈接及其工作原理,并且這是存儲它們的表。

這就是 WordPress 數據庫的全部內容。它相對簡單明了,對嗎?

帖子保存在帖子表中,評論保存在評論表中,用戶保存在用戶表中,等等。當然,有一些細微的差別(例如頁面存儲在 Posts 表中);然而,這是一個相對不復雜的模式。

這是一件好事。

另外,還記得我們之前提到過一些表可以相互引用嗎?評論表和帖子表就是一個很好的例子。由于評論是在特定帖子上留下的,因此評論需要知道它與哪個帖子 ID 關聯,以便在加載帖子時,可以檢索與該帖子 ID 相關的評論。

遷移 WordPress 數據庫入門:基本數據庫知識

無論如何,這比我們在本系列中深入探討的細節要多,但希望這足以給您一個想法。如果您對更多技術信息、表之間的關系、列等感興趣,那么一定要查看有關數據庫描述的 WordPress Codex 文章。


結論

至此,我們已經涵蓋了 WordPress 數據庫入門知識中需要涵蓋的所有內容。希望這有助于揭開您在 WordPress 中保存信息時幕后發生的事情的帷幕,但現在我們已經介紹了這一點,是時候看看一個可以使數據遷移變得極其簡單的工具了。

考慮到我們現在已經了解了數據庫的組織方式,我們還應該了解遷移的工作原理。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享