Установщик sql не запускается, когда компилятор отключен?

Мой вопрос относится к CMS magento. Я создал скрипт sql установщик и на моем сервере при доступе к mysql и поиску я не могу найти свой новый столбец, созданный с помощью скрипта. Мой код:

<?php 

$installer = new Mage_Sales_Model_Resource_Setup('core_setup');

//entities for options in table Sales Flat Order Item
$entities = array(
    'order_item'
);

//entity for desactivate_count in table Sales Flat Order
$entitydes = array(
    'order'
);

//for type text
$optionstxt = array(
    'type'     => 'text',
    'grid' => false
);

//for type int
$optionsint = array(
    'type' => 'int',
    'grid' => false,
    'default' => '0'
    );

//just for column incomm_desactivate_count
$optionsdesc = array(
    'type' => 'int',
    'grid' => true,
    'default' => '0'
    );

foreach ($entities as $entity) {
    $installer->addAttribute($entity, 'incomm_request_active_code', $options);
    $installer->addAttribute($entity, 'incomm_cancel', $options);
    $installer->addAttribute($entity, 'incomm_exception_count', $optionsint); //value int(2)
    $installer->addAttribute($entity, 'incomm_return_active_code', $options);
    $installer->addAttribute($entity, 'incomm_activated', $optionsint); //value int(1)
}

foreach ($entitydes as $entity) {
    $installer->addAttribute($entity, 'incomm_desactivate_count', $optionsdesc); //value int(2)
}

$installer->endSetup();

Я нахожу, что модуль Magento SQL не запускается, и в одном из комментариев написано, что нужно скомпилировать для выполнения установки sql в моем модуле magento. Мне нужно знать, зачем это делать... по этой ссылке я не могу найти больше информации.

1 ответ

Вам не нужно компилировать для запуска скриптов обновления. На самом деле, я думаю, что вам может потребоваться временно отключить компиляцию для запуска сценариев обновления (хотя я не слишком уверен в этом).

Это зависит от значения версии вашего модуля, которая хранится в таблице core_resource вашей базы данных Magento.

[ВАШ МОДУЛЬ]

config.xml  [configuraton-file] - The version number resides in this.

sql (folder) > *.php [upgrade php scripts]

Теперь Magento запускает сценарии обновления в вашем модуле, если (ОБА ИСТИНА):

  1. номер версии вашего модуля в config.xml БОЛЬШЕ, чем номер версии вашего модуля в модуле "core_resource".

  2. Сценарии с новой версией, указанной в файле config.xml, находятся в папке sql модуля. Magento очень своеобразен в соглашениях об именах файлов.

Я думаю, что номер версии вашего модуля в таблице core_resource уже соответствует последней версии, поэтому он не ищет сценарий обновления. Итак, я предлагаю вам удалить запись вашего модуля или уменьшить номер версии в таблице core_resource в Magento db. Затем поддерживайте файлы в соответствии со стандартом Mageto, и ваш скрипт обновления будет запущен.

Другие вопросы по тегам