Joomla 3.1.5 собственный модуль с базой данных, sql игнорировать

Я пытаюсь создать простой модуль для Joomla 3.1.5.

Модуль устанавливается без проблем, но код в установочном файле sql игнорируется. Когда я удаляю модуль, скрипт удаления работает.

Мой код в установке sql

CREATE TABLE IF NOT EXISTS `#__mylist_songs`(
`song_id` int(11) not null auto_increment PRIMARY KEY,
`name` varchar(255) not null,
`author` varchar(150) not null
)Engine=MyIsam  default charset=utf8;

CREATE TABLE IF NOT EXISTS `#__mylist_vote`(
`vote_id` int(11) not null auto_increment PRIMARY KEY,
`song_id` int(11) not null,
`ip` varchar(26),
`vote_date` datetime not null default '0000-00-00 00:00:00'
)Engine=MyIsam  default charset=utf8;

в модуле xml

 <install>
        <sql>
            <file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file>
        </sql>
    </install> <files>

        <filename module="mod_mylist">mod_mylist.php</filename>
        <filename>script.php</filename>
        <folder>tmpl</folder>
        <filename>helper.php</filename>
        <filename>index.html</filename>
        <filename>mod_mylist.xml</filename>
        <filename>sql/mysql/install.mysql.utf8.sql</filename>
        <filename>sql/mysql/uninstall.mysql.utf8.sql</filename>
        <folder>sql</folder>
        <folder>sql/mysql</folder>
        <folder>sql/mysql/updates</folder>
    </files>
    <scriptfile>script.php</scriptfile>

Но после установки модуль в БД не меняется. Когда у меня есть синтаксическая ошибка в сценарии удаления sql, joomla показывает ошибку, но когда установка при установке выполняется без ошибок.

Я не понимаю, почему. Пути верны, я проверил.


person 110precent    schedule 04.10.2013    source источник


Ответы (2)


попробуй это,

 <install>
            <sql>
                <file charset="utf8" driver="mysql">sql/mysql/install.sql</file>
            </sql>
        </install>
    <uninstall>
            <sql>
                <file charset="utf8" driver="mysql">sql/mysql/uninstall.sql</file>
            </sql>
        </uninstall>

И файл install.sql должен иметь запрос. Также убедитесь, что у пользователя БД есть разрешение на добавление новых таблиц. Для больше

Надеюсь, это поможет..

person Jobin    schedule 04.10.2013
comment
Спасибо за ответ. К сожалению, это не помогло. Пользователь имеет разрешение. Скрипт правильный. Имя файла изменено в файловой системе и xml. - person 110precent; 04.10.2013

Попробуйте использовать следующее для вашего XML:

<files>
    <filename module="mod_mylist">mod_mylist.php</filename>
    <filename>index.html</filename>
    <filename>helper.php</filename>
    <folder>tmpl</folder>
    <folder>sql</folder>
</files>

Я удалил ссылки на фактические файлы SQL, поскольку их не нужно определять, если вы вызываете их в теге <install> и очищаете остальную часть.

person Lodder    schedule 04.10.2013
comment
Проблема решена. Сценарий установки работает, когда модуль устанавливается из zip-файла. Где установить из опции обнаружения или установить из каталога tmp. - person 110precent; 06.10.2013
comment
@ 110precent - ааа, достаточно честно. Вы должны были упомянуть об этом в своем вопросе;) - person Lodder; 06.10.2013