2013-10-01 5 views
4

Я создал один плагин «обучение» и установил его в moodle (2.5.2) из ​​каталога moodle/blocks. После этого я попытался создать таблицу из нового плагина (обучение). Я создал файл install.xml в каталоге tuition/db/и изменил версию в файле version.php. когда я обновляю плагин для обучения, он показывает, что плагин обновлен успешно, но он не создает никакой таблицы. Я приложил сюда файл install.xml.Создайте новую таблицу в moodle из плагина, используя файл install.xml

пожалуйста, кто-нибудь сказать мне, где это проблема для обновления плагина

<?xml version="1.0" encoding="UTF-8" ?> 
<XMLDB PATH="mod/label/db" VERSION="20060905" COMMENT="XMLDB file for Moodle mod/label" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd" 
> 
    <TABLES> 

<TABLE NAME="block_tuition_comments"> 
     <FIELDS> 
     <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="instanceid"/> 
     <FIELD NAME="instanceid" TYPE="char" LENGTH="20" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="createdbyid"/> 
     <FIELD NAME="createdbyid" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="instanceid" NEXT="dt"/> 
     <FIELD NAME="dt" TYPE="datetime" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="createdbyid" NEXT="message"/> 
     <FIELD NAME="message" TYPE="char" LENGTH="300" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="dt"/> 
     </FIELDS> 
     <KEYS> 
     <KEY NAME="primary" TYPE="primary" FIELDS="id"/> 
     </KEYS> 
    </TABLE> 

    </TABLES> 

</XMLDB> 

часть install.xml файла

ответ

3

Если плагин уже установлен, то install.xml игнорируется.

Вы можете либо вручную удалить версию, чтобы она была как новая установка - она ​​делает это только при разработке, но не в производстве.

Найти правильную запись и удалить его

SELECT * from mdl_config_plugins 
WHERE plugin like '%tution%' 
AND name = 'version' 

Или, если ваш плагин уже на живом сайте, то вам нужно будет создать дб/upgrade.php файл

http://docs.moodle.org/dev/Upgrade_API#The_files_you_need_for_the_second_release

Взгляните на существующий код в moodle для примеров

Еще одно замечание, вместо того, чтобы сами писать файл install.xml, вы должны использовать xm БОД редактор - это также может генерировать код PHP, который можно использовать в файле upgrade.php

http://docs.moodle.org/dev/XMLDB_editor

Вы найдете его в сайт администратора -> Разработка -> XMLDB редактор

0

Если вы внесли изменения после установки плагина, изменения не будут отображаться, вам необходимо удалить/удалить плагин (не нужно удалять код из moodle), а затем запускать уведомление на сайте. вы увидите, что плагин, который будет установлен на странице, завершит процесс, все будет обновлено.

Пройдите по следующему пути в вашем сайте, чтобы деинсталлировать/удалить плагин

администрации Главной ► сайта ► Плагины ► Блоки ► Управление блоков

Этот путь изменяется в зависимости от типа подключаемого модуля.

Здесь вы получите список блоков, опция удаления будет там с каждым блоком.

0

Если плагин уже установлен, то install.xml игнорируется. Вы внесли какие-либо изменения после установки плагина, а затем изменения не будут отражены. install.xml файл обновления базы данных только при свежей установке плагина. Вам необходимо удалить/удалить свой плагин. Перед удалением плагина вам нужно скопировать папку с плагином (обучение) в другом месте.Вы можете удалить плагин из следующего тракта

администрации Главной ► сайта ► Плагины ► Блоки ► Управление блоков

После полного удаления плагина вы переместите эту папку в папке блока снова. Теперь вы идете следующий путь заново установить плагин

администрации Главной ► сайта ► Плагины ► Блоки ► Уведомление

После успешного монтажа вы найдете таблицу в базе данных.

Смежные вопросы