WordPress 贡献者在核心中正式支持 SQLite 方面取得了进展,该项目将使不太复杂的网站(中小型网站和博客)受益,这些网站不一定需要 WordPress 的标准 MySQL 数据库。在最近的一次更新中,Yoast 赞助的核心贡献者 Ari Stathopoulos 表示,在 Automattic 赞助的核心贡献者 Adam Zielinski 的帮助下,SQLite 数据库集成功能插件已经被重写,成为一个更具前瞻性的实现。
Stathopoulos 说:“代码已经完全重写以使用 SQL Lexer,现在很稳定并且能够正确处理所有 WordPress 查询。” “SQL Lexer 是 PHPMyAdmin/SQL-Parser 项目(根据 GPL 2.0 许可)的一部分,它适用于 WordPress,有效地实现了 MySQL 到 SQLite 的翻译引擎。这提供了改进的安全性和兼容性。”
Stathopoulos 认为,下一步是在 WordPress 核心中实施这些更改,“而不是使用插件”,因为在目前的形式下,它只能在已有 MySQL 数据库的现有网站上进行测试。
“使用 特色 插件是让用户测试实施并解决任何问题等的好方法,”他说。“但是,从长远来看,将其用作插件是没有意义的。”
Stathopoulos 创建了一个Pull Request 草案 和一个随附的 Trac ticket,提议将新的实现合并到核心中。
尽管这项工作得到了社区和 WordPress 首席开发人员 Matt Mullenweg 的积极反馈和支持,但该功能插件只有 30 次有效安装,而且新实施几乎没有接受过测试。
包括核心提交者 Aaron Jorbin 和首席开发人员 Andrew Ozz 在内的多位讨论参与者表达了对该提案要求下一步将更改合并到核心的担忧。
“由于几个原因,谈论合并到核心感觉非常早,”Jorbin 说。“该插件现在只有大约 30 次安装。我认为需要更高的采用率才能了解近乎无限数量的插件将如何与 WordPress 的这种深层基础变化一起工作。”
Jorbin 还引用了 WordPress 为最终用户构建东西的理念,这些最终用户不想对底层技术做出决定,而只是希望事情能正常工作。
“假设用户将了解不同的数据库引擎,而潜在的权衡对我来说感觉很困难,”Jorbin 说。“因此,任何实施都确实需要坚如磐石并且经过极其彻底的测试。”
Jorbin 在之前的对话中也回应了其他贡献者对SQLite 奇怪的注入宗教的“道德准则”的担忧。
Ozz 建议该插件可以作为 mu-plugin 或“插件”添加到 WordPress,类似于缓存附加组件的实现方式,推翻了将其完全合并到核心中的严格要求。
“这两种方法也更好/更适合用户,因为它们可以由托管公司或用于 WordPress 安装的脚本完成,”Ozz 说。“还有一些其他好处,例如独立更新等。”
Stathopoulos 回应了这些担忧,称他将合并到核心视为一个长期目标,尽管该提案更多地表达了一种紧迫感,这让讨论中的参与者感到困惑。
“现在还为时过早,”Stathopoulos 承认道。“然而,从更大的角度来看,为未来做计划并为之做好准备并不为时过早。
“现在可能还为时过早,但不会是 2 年后……问题是除非我们现在开始着手,否则我们将来无法做到这一点。
SQLite 不是可以——也不应该——现在甚至一年后在 Core 中发生的事情。这是一个长期目标,应该这样对待。”
Stathopoulos 同意该插件需要更多的采用,以了解它如何与整个生态系统的插件一起工作。他还回应了用户不完全理解他们选择的数据库引擎对安装的影响的担忧。
“我在 Core PR 中放置的概念验证 UI 就是一个概念验证,”Stathopoulos 说。“引发讨论并让我们找到解决方案的东西。它可以是任何东西,甚至是安装场景(你想创建一个博客吗?一个小型电子商务网站?一个大型新闻媒体?下一个亚马逊?)这是一个需要在适当的时候进行讨论的讨论UI,但现在还为时过早,我认为我们还没有做到这一点。”
Stathopoulos 建议贡献者使用他们通常使用的所有插件测试新实现,通过SQLite 数据库集成插件或在 WordPress Core 中测试 拉取请求草案。