迁移 WordPress 数据库入门:基本数据库知识

wufei123 2024-06-02 阅读:9 评论:0
在处理基于 wordpress 的项目时,可以说部署中最令人沮丧或最乏味的方面之一实际上是使环境中的数据库彼此同步。 当然,在开发中使用测试数据、在暂存中使用用户数据以及在生产中使用实际数据是有道理的,但没有什么灵丹妙药,对吧?这意味着...

在处理基于 wordpress 的项目时,可以说部署中最令人沮丧或最乏味的方面之一实际上是使环境中的数据库彼此同步。

当然,在开发中使用测试数据、在暂存中使用用户数据以及在生产中使用实际数据是有道理的,但没有什么灵丹妙药,对吧?这意味着测试数据有时会起作用;其他时候则不会。

例如,假设您继承了一个项目,您必须为其拉取数据库,然后开始使用现有数据。或者假设您必须将整个网站或应用程序从一台服务器迁移到另一台服务器。

在这种情况下,测试数据并没有多大帮助。相反,您需要一个工具。当然,WordPress 导入器对于基本迁移来说是一个不错的工具,如果您熟悉数据库前端并使用 SQL 本身,那么运行 SQL 导出和导入是可以的。

但是那些介于两者之间的人呢?

让迁移变得更容易

事实是,当涉及到 WordPress 数据库迁移时,这是一个鱼龙混杂的情况,因为我们中的许多人的技能水平因我们最常使用的堆栈的哪一部分而异。

我的意思是:

  • 那些更熟悉前端工作的人可能不太熟悉应用程序层和/或数据库层
  • 习惯于应用层工作的人可能对前端也很擅长,但对数据库却不太擅长(反之亦然)
  • 那些生活在数据库中的人可能会对上面的层感到不舒服

这并不是说没有全栈开发人员。显然,有;然而,并不是每个人都处于这个位置。

因此,当谈到迁移 WordPress 数据库时,有些人的处境比其他人困难得多。或者,尽管人们对 SQL 很熟悉,但有些人可能只是在寻找一种工具来帮助简化整个过程。

在本系列中,我们将介绍一个能够实现此目的的实用程序,但在此之前,让我们快速了解一下 WordPress 数据库,以确保我们能够都在同一页面上。

WordPress 数据库

当谈到讨论 WordPress 数据库时,可以写一整系列的文章来讨论每个表、每个列、架构、如何编写最佳查询等等。

这不是一个系列。

相反,我们将在本文中做两件事:

  • 我们将确保我们都对数据库有一个清晰的概念性理解,以便我们知道如何在脑海中描绘它
  • 我们将查看 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 中保存信息时幕后发生的事情的帷幕,但现在我们已经介绍了这一点,是时候看看一个可以使数据迁移变得极其简单的工具了。

    考虑到我们现在已经了解了数据库的组织方式,我们还应该了解迁移的工作原理。

    以上就是迁移 WordPress 数据库入门:基本数据库知识的详细内容,更多请关注知识资源分享宝库其它相关文章!

    版权声明

    本站内容来源于互联网搬运,
    仅限用于小范围内传播学习,请在下载后24小时内删除,
    如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
    E-mail:dpw1001@163.com

    分享:

    扫一扫在手机阅读、分享本文

    发表评论
    热门文章
    • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

      华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
      华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
    • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

      酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
      本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
    • Nginx服务器的HTTP/2协议支持和性能提升技巧介绍

      Nginx服务器的HTTP/2协议支持和性能提升技巧介绍
      Nginx服务器的HTTP/2协议支持和性能提升技巧介绍 引言:随着互联网的快速发展,人们对网站速度的要求越来越高。为了提供更快的网站响应速度和更好的用户体验,Nginx服务器的HTTP/2协议支持和性能提升技巧变得至关重要。本文将介绍如何配置Nginx服务器以支持HTTP/2协议,并提供一些性能提升的技巧。 一、HTTP/2协议简介:HTTP/2协议是HTTP协议的下一代标准,它在传输层使用二进制格式进行数据传输,相比之前的HTTP1.x协议,HTTP/2协议具有更低的延...
    • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

      惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
      本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
    • python怎么调用其他文件函数

      python怎么调用其他文件函数
      在 python 中调用其他文件中的函数,有两种方式:1. 使用 import 语句导入模块,然后调用 [模块名].[函数名]();2. 使用 from ... import 语句从模块导入特定函数,然后调用 [函数名]()。 如何在 Python 中调用其他文件中的函数 在 Python 中,您可以通过以下两种方式调用其他文件中的函数: 1. 使用 import 语句 优点:简单且易于使用。 缺点:会将整个模块导入到当前作用域中,可能会导致命名空间混乱。 步骤:...