当用户停用/删除我的插件时,是否需要自动删除我的可湿性粉剂插件数据库表?

时间:2019-11-06 作者:Gianni

当用户试图删除我的插件时,是否需要自动删除所有对应的表行?

根据我的经验,我遇到了一些插件,在这些插件中,db表即使在删除之后仍然存在于我的数据库中。

我知道删除后保留这些表可能看起来很草率;但在某些情况下,我可以想象,如果用户不小心删除了我的插件,那么他/她可能会因此而丢失大量数据。

2 个回复
SO网友:Cas Dekkers

在我看来,最好的做法是在卸载时清除所有内容。这也是一种最佳实践in the docs:

卸载插件时,您需要清除插件的所有插件选项和/或特定于插件的设置,和/或其他数据库实体(如表)。

然而,如果你正在努力决定什么最适合你的插件,为什么不让用户来决定呢?您总是可以在单击卸载按钮后询问他们是否要保留数据。看看this similar question 有关详细信息。

SO网友:Shadow

停用插件时,从数据库中删除表不是正确的方法,因为用户可以停用插件的原因有很多,但您可以使用另一种方法register_uninstall_hook 有关更多信息,请查看the documentation 用于从数据库中删除表。

希望这对你有帮助!