【问题标题】:Uninstall the Magento extension with its associated database tables and settings卸载 Magento 扩展及其关联的数据库表和设置
【发布时间】:2013-03-04 18:02:19
【问题描述】:

我已经创建了 Magento 扩展。我已经安装并卸载了它。在卸载过程中,我发现关联的数据库表没有被删除,并且core_config_datacore_resource中的设置。有人可以帮助我吗?

【问题讨论】:

    标签: magento


    【解决方案1】:

    删除扩展的文件时,存储在数据库中的数据(core_config_data 中的专用表和配置)不会被删除。

    为此,您有两个选择,创建一个 sql 升级设置以删除这些条目,然后升级您的扩展,或者在 phpmyadmin 中手动执行。

    即使不推荐,我总是使用第二个,我只是运行类似的查询

    DROP TABLE 'mytable';
    DELETE FROM 'core_config_data' WHERE path LIKE '%mymodule%';
    

    当然,最干净的方法是另一种方法,在 sql 文件中创建这些请求,从您的版本升级到下一个版本,然后通过在扩展程序上升级 etc/config.xml 中的版本来运行它。

    如果扩展名不是您的,我建议查看模块的etc/ 文件夹中的system.xml 和/或其他xml 文件,以查找存储在core_config_data 中的信息,然后在sql/ 文件夹中的所有文件中查找查找其他信息(表、列、添加的行)。

    【讨论】:

    • 您能告诉我如何在 config.xml 文件中定义升级吗?谢谢
    【解决方案2】:

    对于某些扩展,添加了一个与属性相关的附加条目。 因此,除了从 core_config_data 中删除条目之外,还需要将其删除。

    $eav->addAttribute('customer', 'some_property', array(
        'label'     => 'some label',
        'type'      => 'varchar',
        'input'     => 'text',
        'visible'   => true,
        'required'  => true,
        'position'  => 1,
    ));
    

    【讨论】:

    • 是的 +1 对你来说这是我的观点,表、列或行可以通过 sql 设置添加,因此可以删除表、更改表以删除列或仅删除一些行
    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2015-02-02
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多