【发布时间】:2014-02-27 07:29:24
【问题描述】:
在 magento 中,当我安装自己创建的扩展程序时,该扩展程序会在数据库中创建一个表。但是当我卸载扩展程序时。它只是从 magento 中删除扩展文件和文件夹。 我还想删除我在扩展激活时创建的表。
请帮助我,我是新的 magento 开发人员。
【问题讨论】:
-
这类代码的好问题
-
您好,从您的数据库中删除扩展表。请在删除命令之前备份您的数据库
在 magento 中,当我安装自己创建的扩展程序时,该扩展程序会在数据库中创建一个表。但是当我卸载扩展程序时。它只是从 magento 中删除扩展文件和文件夹。 我还想删除我在扩展激活时创建的表。
请帮助我,我是新的 magento 开发人员。
【问题讨论】:
删除扩展的文件时,存储在数据库中的数据(专用表和core_config_data中的配置)不会被删除。
为此,您可以创建一个 sql 升级设置来删除这些条目,然后升级您的扩展,或者在 phpmyadmin 中手动执行。
你可以只运行查询喜欢
DROP TABLE 'mytable'; DELETE FROM 'core_config_data' WHERE path LIKE '%mymodule%';
当然,最干净的方法是另一种方法,在 sql 文件中创建这些请求,从您的版本升级到下一个版本,然后通过升级扩展上的 etc/config.xml 中的版本来运行它。
没有一个工具可以自动“删除所有未使用的扩展表”,因为这可能非常危险(删除仍在使用的表,或者只是禁用扩展的表等)。
如果你想继续,你可以从 PHP MyAdmin 中删除未使用的表,但强烈建议在此之前备份!!
【讨论】: