使用install.xml文件从插件创建moodle中的新表

时间:2013-10-01 15:34:10

标签: moodle

我创建了一个插件“tuition”并从moodle / blocks目录安装在moodle(2.5.2)中。之后我尝试从新插件(学费)创建一些表。我在tuition / db /目录中创建了install.xml文件,并更改了version.php文件中的版本。当我更新我的学费插件时,它显示插件已成功更新,但它不会创建任何表。我在这里附上了我的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 个答案:

答案 0 :(得分:3)

如果已经安装了插件,则忽略install.xml。

您可以手动删除版本,使其像全新安装一样 - 仅在开发中进行此操作,但不在生产中。

找到正确的记录并将其删除

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

或者,如果您的插件已经在实际站点上,那么您将需要创建db / upgrade.php文件

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

查看moodle中的现有代码示例

还有一点需要注意,不是自己编写install.xml文件,而应该使用xmldb编辑器 - 这也可以生成可以在upgrade.php文件中使用的php代码

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

您可以在网站管理员中找到它 - &gt;发展 - &gt; xmldb编辑器

答案 1 :(得分:0)

如果您在插件安装后进行了更改,则不会反映更改,您需要卸载/删除插件(不需要从moodle中删除代码)然后在现场运行通知。您将看到要在页面中安装的插件完成,该过程将更新所有内容。

浏览您网站中的以下路径以卸载/删除插件

主页►网站管理►插件►块►管理块

此路径因插件类型而异。

在这里你将得到块列表,每个块都有删除选项。

答案 2 :(得分:0)

如果已安装插件,则忽略install.xml。 您在插件安装后进行了任何更改,然后更改将不会反映出来。 install.xml文件仅在全新安装插件时更新数据库。 您必须卸载/删除您的插件。在卸载插件之前,您必须在另一个位置复制插件文件夹(学费)。您可以从以下路径卸载插件

主页►网站管理►插件►块►管理块

完成卸载插件后,再次将该文件夹移动到块文件夹中。现在,您将按照以下路径重新安装插件

主页►网站管理►插件►块►通知

成功安装后,您将在数据库中找到您的表格。