Переписать модуль sql - PullRequest
       22

Переписать модуль sql

0 голосов
/ 28 февраля 2011

Привет, я пытаюсь переписать или расширить все файлы базы данных обновления sql с core до local безуспешно, до сих пор у меня есть:

CORE:

+core
 +Mage
  +Mymodule
   +...
   +etc
    -config.xml
   +sql
    +mymodule_setup
     -mysql4-install-0.1.0.php
     -mysql4-install-0.1.0-0.1.1.php
     -...

LOCAL:

+local
 +Mage
  +Mynamespace
   +Mymodule
    +...
    +etc
     -config.xml
    +sql
     +mymodule_setup
      -mysql4-install-0.1.0.php
      -mysql4-install-0.1.0-0.1.1.php
      -...

Поэтому мой вопрос заключается в том, чтобы избежать проблем при обновлении Magento, как показано, как я настраиваю config.xml в core и local , переписать Block , Model , я сделал с успехом, но не для sql, до сих пор у меня есть:

МЕСТНЫЙ

    <?xml version="1.0"?>
<config>
    <modules>
        <Mage_Mymodule>
            <version>0.1.1</version>
        </Mage_Mymodule>
    </modules>
    <global>
        <resources>
            <mynamespace_mymodule_setup>
                <setup>
                    <module>Mynamespace_Mymodule</module>
                    <class>Mage_Mymodule_Model_Resource_Eav_Mysql4_Setup</class>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </mynamespace_mymodule_setup>
        </resources>
        <models>
            <Mymodule>
                <rewrite>
                    <abc>Mynamespace_Mymodule_Model_Abc</abc>
                </rewrite>
            </Mymodule>
        </models>
    </global>
</config>

Заранее благодарен за любую помощь.

Ответы [ 3 ]

1 голос
/ 01 марта 2011

Нет способа переопределить сценарии установки / обновления.Вы должны: 1. Установить зависимость для вашего модуля, он должен быть установлен последним.2. В вашем скрипте установки вы можете использовать что угодно.Вам лучше использовать методы Varien_Db_Adapter_Pdo_Mysql.

0 голосов
/ 28 июля 2013

Вы можете взломать, например, в своем классе установки перезаписать защищенный метод _getAvailableDbFiles и переписать его, используя dirname ( FILE ) вместо Mage :: getModuleDir (Mage_Core_Model_Resource_Setup ~ 480)

0 голосов
/ 28 февраля 2011

Думаю, проблема в том, что вы изменили класс в настройке ресурса на класс, который, вероятно, не существует.Попробуйте:

<setup>
   <module>Mynamespace_Mymodule</module>
   <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
...