模块安装:脚本install.mysql.utf8.sql不创建表

时间:2013-11-29 06:09:47

标签: joomla module

SQL安装脚本install.mysql.utf8.sql不会创建表。

我的模块清单文件是:

<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" client="site" method="upgrade">
<name>Data Entry module</name>
<author>Md Masum</author>
<version>1.0.0</version>
<description>This is a data entry module. by this module we can store various data in our custom table into joomla database</description>
<files>
    <filename>mod_entry.xml</filename>
    <filename module="mod_entry">mod_entry.php</filename>
    <filename>index.html</filename>
    <filename>helper.php</filename>
    <filename>tmpl/default.php</filename>
    <filename>tmpl/index.html</filename>
    <folder>sql</folder>
</files>

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

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

<update> 
<schemas>
<schemapath type="mysql">sql/mysql/updates</schemapath> 
<schemapath type="sqlazure">sql/sqlazure/updates</schemapath> 
</schemas> 
</update>


<config>
</config>
</extension>

SQL文件(install.mysql.utf8.sql)包含:

CREATE TABLE IF NOT EXISTS `#__student_profile` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`roll` int(10) NOT NULL,
`class` int(2) NOT NULL,
`section` varchar(25) NOT NULL,
`subject` varchar(25) NOT NULL,
`father_name` varchar(25) NOT NULL,
`mother_name` varchar(25) NOT NULL,
`email` varchar(25) NOT NULL,
`address` varchar(50) NOT NULL,
`phone` int(14) NOT NULL,
`date_birth` date NOT NULL,
`date_addmission` date NOT NULL,
`religion` varchar(10) NOT NULL,
`gender` varchar(6) NOT NULL,

PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;  

1 个答案:

答案 0 :(得分:2)

  1. 清单文件正常。
  2. SQL文件也没问题。
  3. 我已成功安装您的模块而没有任何问题。

    我的猜测是你已经安装了模块。如果模块已经注册了Joomla,那么在创建安装工具包并进行安装时,它将检测到它已经安装并且不会再次安装它,但它只会更新它(使用SQL更新语句)。这意味着install.mysql.utf8.sql将不会再次执行。

    从Joomla卸载模块并重新安装,它应该可以正常工作。

    希望这有帮助。