在执行从4.5.2到4.5.3的升级时,将删除插件使用的一行,其中包含插件的所有数据。我正在深入研究升级过程,没有发现任何与数据库更改相关的内容,尤其是与wp_options
升级前后相同的表结构。
db_version
在中相同wp_options
更新前后。
恢复该行是可能的,一切正常,但我担心它会再次发生。
这是一个自定义插件。源代码不是公共的。我是它的开发人员,所以我可以解决问题。
有没有人知道是什么原因导致这种情况,以及如何修复它?
SO网友:swissspidy
如果不看一下代码,就无法提供帮助。
由于我是WordPress 4.5.3的工作人员之一,我可以向您保证maintenance and security release. 这些版本之间没有与数据库相关的更改,除了#36748. 引用commit message 在这里:
数据库:dbDelta()
将不再尝试降级的大小TEXT
和BLOB
列。
升级到时utf8mb4
, TEXT
字段将升级为MEDIUMTEXT
(对于所有其他*TEXT
和*BLOB
字段)。这是为了满足utf8mb4
.
在后续升级时,dbDelta()
将尝试再次将字段降级为其原始大小。充其量这是浪费时间,最坏的情况是,这可能会截断任何大于原始大小的数据。让它们保持新的尺寸没有坏处,所以让我们这样做吧。
正如你所看到的,这和wp_options
使用LONGTEXT
. 因此,我确信您所经历的情况一定是由插件中的错误引起的,而不是在更新过程中发生的事情。
但是,如果不共享源代码,就不可能确定。