测试WordPress SQLite实现的全新体验

发表时间: 2022-12-21 22:58

几个月前,WordPress 打算在核心底层直接支持 SQLite,现在可以测试 WordPress SQLite 的实现了,首先说明一下,WordPress 官方目前让测试的实现,并不是做成独立的功能插件,而是作为一个模块整合到 Performance Lab 插件的 1.8.0 版开始。

现在希望主机、插件作者和主题开发人员能够一起帮忙测试来推进「在核心底层直接支持 SQLite」这个项目,如果测试没有问题,将在未来的版本中合并到 WordPress Core 中。

如何测试 SQLite 实现

为了在 WordPress 网站上使用 SQLite 数据库而不是MySQL进行测试,需要按照以下步骤操作:

  1. 安装并激活 Performance Lab 插件。
  2. 在后台找到「设置」-「性能」菜单。
  3. 启用 SQLite 模块,然后单击“保存更改”。
  4. 保存更改后,插件会自动复制 wp-content 文件夹中的 db.php 文件,并且复制站点当前用户和网站标题,使得无需新密码即可登录。

全新安装

激活 SQLite 时,你的 WordPress 将创建一个独立且全新的数据库,并且程序会自动进行设置而无序经过安装程序,但除此之外,并不会从原始数据库中迁移任何其他内容。

所以就的数据库保持不变,当禁用 SQLite 模块的时候,你的站点就会恢复使用之前的未受影响的 MySQL 数据库。

全新新安装

启用 SQLite 模块,并不会将原来 MySQL 数据库中的数据复制到 SQLite 中,因为这个实现是要在 WordPress 底层代码中实现的,按照 WordPress 核心原则,数据迁移不是 Core 应该做的,这显然是插件领域,正如前面所说,不用担心旧的数据库中的数据库。

当 SQLite 支持合并到 Core 中时,迁移和备份插件将添加对它的支持。

db.php

特别要注意一下,目前如果你的 wp-content 目录中已经有了 db.php 文件,则无法测试 SQLite,但是该限制只是目前阶段受限,因为目前 SQLite 实现是通过插件模块的,之后通过合并到 Core 之后,则就不用考虑这个问题。

技术细节

SQLite 实现的代码来自由 Evan Mattson 撰写的插件,并对其进行重构,应用编码标准,最后集成到 Performance Lab 插件中。

为什么选择现有的代码,因为该 SQLite 代码已经使用多年,并经过了实战检验。选择从一个尝试过的解决方案开始,而不是从头开始,因为可能遇到的许多问题已经在预先存在的实施中得到解决。