За последние 24 часа нас посетили 58366 программистов и 7221 робот. Сейчас ищут 2553 программиста ...

Инициализация базы данных Magento

Тема в разделе "PHP для новичков", создана пользователем Maibe_V, 6 июл 2016.

Метки:
  1. Maibe_V

    Maibe_V Новичок

    С нами с:
    6 июл 2016
    Сообщения:
    1
    Симпатии:
    0
    Суть задания состоит в том, чтоб сделать инициализацию бд, точнее таблицы ds_news_entities.. С magento работаю первый раз, потому и возникло затруднение (версия Full Release - ver 1.9.2.4) .

    В директории app/code/local/TestModule создаю директорию своего модуля News

    Сразу же в конфиге app/code/local/TestModule/News/etc/config.xml задаю настройки:

    HTML:
    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <config>
    3.     <modules>
    4.         <TestModule_News>
    5.             <version>0.0.1</version>
    6.         </TestModule_News>
    7.     </modules>
    8. </config>

    Следующим шагом создаю конфиг в app/etc/modules/TestModule_News.xml:

    HTML:
    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <config>
    3.     <modules>
    4.         <TestModule_News>
    5.             <active>true</active>
    6.             <codePool>local</codePool>
    7.         </TestModule_News>
    8.     </modules>
    9. </config>

    Потом в директории app/code/local/TestModule/News/sql создаю поддиректорию testmodulenews_setup и в ней файл установки install-0.0.1.php:

    PHP:
    1. $installer = $this;
    2.  
    3.     $installer->startSetup();
    4.     $installer->run("CREATE TABLE ds_news_entities (
    5.        `news_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    6.        `title` VARCHAR(255) NOT NULL,
    7.        `content` TEXT NOT NULL,
    8.        `created` DATETIME,
    9.  
    10.        PRIMARY KEY (`news_id`)
    11.    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
    12.  
    13.     $installer->endSetup();

    Послу этого редактирую уже ранее созданный файл настройки app/etc/modules/TestModule_News.xml:

    HTML:
    1.  
    2. <?xml version="1.0" encoding="UTF-8" ?>
    3. <config>
    4.     <modules>
    5.         <TestModule_News>
    6.             <active>true</active>
    7.             <codePool>local</codePool>
    8.         </TestModule_News>
    9.     </modules>
    10.     <global>
    11.         <resources>
    12.             <testmodulenews_setup>
    13.                 <setup>
    14.                     <module>TestModule_News</module>
    15.                 </setup>
    16.             </testmodulenews_setup>
    17.         </resources>
    18.     </global>
    19. </config>

    По идеи после обновления страницы должна создаться запись в таблице core_resource, соответствующая названию создаваемой таблицы.

    Но после перезагрузки страницы возникает ошибка:

    #0 /home/vitaliy/hosts/magento.dev/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /home/vitaliy/hosts/magento.dev/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) #2 /home/vitaliy/hosts/magento.dev/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array) #3 /home/vitaliy/hosts/magento.dev/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #4 /home/vitaliy/hosts/magento.dev/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('CREATE TABLE ds...', Array) #5 /home/vitaliy/hosts/magento.dev/lib/Varien/Db/Adapter/Pdo/Mysql.php(504): Zend_Db_Adapter_Pdo_Abstract->query('CREATE TABLE ds...', Array) #6 /home/vitaliy/hosts/magento.dev/lib/Varien/Db/Adapter/Pdo/Mysql.php(423): Varien_Db_Adapter_Pdo_Mysql->query('CREATE TABLE ds...') #7 /home/vitaliy/hosts/magento.dev/lib/Varien/Db/Adapter/Pdo/Mysql.php(693): Varien_Db_Adapter_Pdo_Mysql->raw_query('CREATE TABLE ds...') #8 /home/vitaliy/hosts/magento.dev/lib/Varien/Db/Adapter/Pdo/Mysql.php(675): Varien_Db_Adapter_Pdo_Mysql->multi_query('CREATE TABLE ds...') #9 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/Resource/Setup.php(932): Varien_Db_Adapter_Pdo_Mysql->multiQuery('CREATE TABLE ds...') #10 /home/vitaliy/hosts/magento.dev/app/code/local/TestModule/News/sql/testmodulenews_setup/install-0.0.1.php(17): Mage_Core_Model_Resource_Setup->run('CREATE TABLE ds...') #11 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/Resource/Setup.php(624): include('/home/vitaliy/h...') #12 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/Resource/Setup.php(421): Mage_Core_Model_Resource_Setup->_modifyResourceDb('install', '', '0.0.1') #13 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/Resource/Setup.php(327): Mage_Core_Model_Resource_Setup->_installResourceDb('0.0.1') #14 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/Resource/Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates() #15 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/App.php(428): Mage_Core_Model_Resource_Setup::applyAllUpdates() #16 /home/vitaliy/hosts/magento.dev/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Model_App->_initModules() #17 /home/vitaliy/hosts/magento.dev/app/Mage.php(683): Mage_Core_Model_App->run(Array) #18 /home/vitaliy/hosts/magento.dev/index.php(83): Mage::run('', 'store') #19 {main}errord

    В чем я ошибся ? Или что то делаю не так ?

    Прошу подсказки(
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв