Я создаю пользовательский модуль с несколькими пользовательскими таблицами базы данных.Мне нужно установить значение auto_increment равным 5000 вместо значения по умолчанию, равного 1. Это можно сделать довольно легко, но у меня возникают проблемы при попытке сделать это с помощью сценария установки Magento.Я хочу знать, почему и как обойти эту проблему.Вот более подробная информация.
Когда я запускаю следующую инструкцию create из обычного клиента mysql (например, Heidi SQL или стандартного cli), значение auto_increment устанавливается правильно.Он устанавливается на 5000.
CREATE TABLE mytable (
myid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
other_column INTEGER NULL
) ENGINE=InnoDb DEFAULT CHARSET=UTF8 AUTO_INCREMENT=5000;
Но когда я помещаю этот точно такой же запрос в скрипт установки magento, auto_increment устанавливается равным 1 после его запуска.Чтобы быть понятным, таблица создается так, как я ожидал, за исключением того факта, что auto_increment не установлен в 5000. Вот код в сценарии установки.
файл: app / code / local / Mycompany/Mymodule/sql/mymodule_setup/mysql4-install-0.0.1.php
<?php
$installer = $this;
$installer->startSetup();
$installer->run("
CREATE TABLE {$this->getTable('mytable')} (
myid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
other_column INTEGER NULL
) ENGINE=InnoDb DEFAULT CHARSET=UTF8 AUTO_INCREMENT=5000;
");
$installer->endSetup();
Почему это происходит?Есть ли обходные пути?
(я также упомяну, что я попытался установить auto_increment с помощью инструкции ALTER, и у меня возникла та же проблема)