首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joomla模块安装mySQL

Joomla模块安装mySQL
EN

Stack Overflow用户
提问于 2013-11-21 10:39:33
回答 1查看 1.1K关注 0票数 1

我正在创建一个新模块,但这一次我在创建数据库表时出错了。另外,我对安装此文件的文件结构有一种困惑。我读过Joomla文档并尝试了他们说的话:

在我的清单中,我创建了以下安装/删除(SQL)部分:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1.0" client="site" method="upgrade">
    <name>Modulename</name>
    <author>Jerry Schirrmann</author>
    <description>A test module</description>
    <files>
        <filename>mod_modulename.xml</filename>
        <filename module="mod_modulename">mod_modulename.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
        <filename>sql/mysql/install.mysql.utf8.sql</filename>
        <filename>sql/mysql/uninstall.mysql.utf8.sql</filename>
    </files>
    <config>
        <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>
    </config>
</extension>

并创建了以下文件结构:

mod_xxx/sql/mysql/install.mysql.utf8.sql & mod_xxx/sql/mysql/install.mysql.utf8.sql

现在他没有在安装时给我一个错误,只是不创建我的表。我的文件结构正确吗?还是我的一个SQL文件有问题?

编辑:

下面是一些MYSQL代码

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `#__modulename` (
        `id` int(10) NOT NULL AUTO_INCREMENT,
        `hello` text NOT NULL,
        `lang` varchar(25) NOT NULL,

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

INSERT INTO `#__modulename` (`hello`, `lang`) VALUES ('Hello World', 'en-GB');
INSERT INTO `#__modulename` (`hello`, `lang`) VALUES ('Hola Mundo', 'es-ES');
INSERT INTO `#__modulename` (`hello`, `lang`) VALUES ('Bonjour tout le monde', 'fr-FR');

我的Joomla目前在3.2,我正在为3.1.0开发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 10:54:08

在您的XML文件中,应该有类似于以下内容的内容:

代码语言:javascript
复制
<files>
    <filename module="mod_modulename">mod_modulename.php</filename>
    <filename>index.html</filename>
    <folder>tmpl</folder>
</files>

确保您还包括<folder>sql</folder>

至于您的SQL代码,请尝试以下仅使用1 insert命令的命令。它还告诉它要分配代码中忘记的值的ID:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `#__modulename` (
        `id` int(10) NOT NULL AUTO_INCREMENT,
        `hello` text NOT NULL,
        `lang` varchar(25) NOT NULL,

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

INSERT INTO `#__modulename` (`id`, `hello`, `lang`) VALUES 
(1, 'Hello World', 'en-GB'),
(2, 'Hola Mundo', 'es-ES'),
(3, 'Bonjour tout le monde', 'fr-FR');
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20118623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档