直接删除wp_posts表中所有具有post_type修订版本的行是否安全?(我已经看到了与此矛盾的答案,但我希望能够在安全的情况下以这种方式进行操作)
安全,很安全。
如果只有一个用户(您)可以编辑网站上的帖子,那么这是安全的,不会造成任何其他问题。
如果有更多的用户,并且有人正在编辑帖子,同时删除修订,这仍然不是不安全的,但是对于那些看到修订消失的用户可能会很烦。
绝对不安全的是在WP数据库上运行SQL查询,而不先进行一个(或更好,更多)负担得起的备份,并事先在本地/开发环境中测试该查询。
假设您不小心键入'post'而不是'revision',如果没有备份并且在生产站点上运行查询,会发生什么?
关于第二个问题,只是删除{id}_
无处不在它出现在查询贴出这样wp_{id}_posts
变wp_posts
等。
一个警告,wp_
部分是标准的表前缀,即在WP安装过程中,帅哥更改为其他内容。
如果您更改了它,并且wp_config.php
您看到了$table_prefix = 'something_else_than_wp_';
您的查询变为:
DELETE a,b,c
FROM something_else_than_wp_posts a
LEFT JOIN something_else_than_wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN something_else_than_wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
我建议这样进行:
- 备份数据库
- 再次备份数据库
- 通过在另一个数据库中还原数据库来测试备份
- 更改您的“ wp_config”以使用此新数据库
- 在新数据库上运行查询,并检查是否出了问题
- 如果没有,则完成。如果是这样,请再次更改“ wp_config”,使其使用旧数据库并尝试调查问题。