显然,现在Magento 2支持卸载脚本,该脚本允许在卸载模块时修改数据库架构(敬请期待!)。
如此处所述,这仅适用于通过composer安装的模块。
(我希望将来所有模块都可以使用,但这是一个不同的问题)。
假设我有一个名为的模块Testing_Demo
。
该模块执行3件事,我希望在卸载时将其删除。
- 添加一个名为的表
testing_demo
。所以我需要删除它。 - 添加名为的产品属性
demo
。所以这需要删除 - 的某些设置
system->configuration
可能会或可能不会存储在表中core_config_data
。所有这些设置都有路径testing_demo/...
。因此,这些也需要删除。
我的模块卸载脚本应如何显示?
我想您的卸载脚本应该更像是一个集成测试,以查看扩展的删除是否会破坏前端或架构关系
—
Anton S
我在那里不能和你矛盾。您可能是对的,但是我该怎么做?:)
—
Marius
我不知道这个想法,但从理论上讲,您应该知道收集的数据是否可以删除,因此卸载过程应该是逐步指南,它指示商家验证以下过程是否会对商户的会计核算产生影响,客户等等。因此,纯粹是技术性的部分可能很容易遍历布局,并查看您的扩展是否被引用,扩展,其他是否依赖于所有扩展的统一部分,但背后的业务决策仍由商人决定,您只能指出冲突
—
Anton S
依赖关系应该在卸载之前得到处理,所以这不是我的问题。假设我决定完全删除该扩展名,并且没有任何依赖它的内容。
—
马里斯(Marius)
所以您只需要将其范围缩小到简单的转储表和数据方面?
—
安东S