我创建了一个插件“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文件的一部分
答案 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文件仅在全新安装插件时更新数据库。 您必须卸载/删除您的插件。在卸载插件之前,您必须在另一个位置复制插件文件夹(学费)。您可以从以下路径卸载插件
主页►网站管理►插件►块►管理块
完成卸载插件后,再次将该文件夹移动到块文件夹中。现在,您将按照以下路径重新安装插件
主页►网站管理►插件►块►通知
成功安装后,您将在数据库中找到您的表格。