Joomla文档中文翻译 - MVC组件开发:数据库 - 创建SQL文件
我们在前面一篇文章中学习了怎样通过模型的getGreeting()方法来获取数据;方法已经有了,但是还没有数据来源,今天我们就来学习怎样通过创建SQL文件来生成数据表及相应的数据内容。
创建用于安装组件的SQL文件
Joomla的安装器会在安装组件的过程中自动执行预先在组件文件中设定好的数据库查询参数;我们可以使用普通的文本文件创造这些参数并保存为用于安装组件的SQL文件。
我们要该SQL文件中添加3个查询参数,第一个用来删除因为曾经安装而重复的数据表,第二个使用恰当的字段来创建数据表,第三个用来插入数据。下面来看看代码:
DROP TABLE IF EXISTS `#__hello`;
CREATE TABLE `#__hello` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`greeting` VARCHAR(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
INSERT INTO `#__hello` (`greeting`) VALUES ('Hello, World!'), ('Bonjour, Monde!'), ('Ciao, Mondo!');
从代码中可以看到,数据表名称的前缀(#_)有些奇怪,实际上Joomla在安装组件的过程中会自动将这个前缀替换为标准格式,即jos_hello;标准的前缀可以方便我们使用Joomla基于一套数据库来创建多站点,另外还可以防止与其他应用程序发生数据库冲突。
我们的代码为数据表创建了两个字段:第一个是id,它也被称为主键,用来标识每条记录,在数据表的行查询操作中经常可以用到;另外一个字段greeting用来存储我们的问候语字符串。
我们将这个文本文件保存为install.sql并放在组件的admin文件夹路径中。
创建用于卸载组件的SQL文件
在组件被卸载的过程中,Joomla会自动删除在安装过程中创建的文件及目录,但是对于安装组件时创建的数据表,仍需要通过查询参数来删除;所以我们需要为组件再创建一个用于卸载这些数据表的SQL文件。该文件只需要一行代码:
我们将该文件保存为uninstall.sql文件并放在组件的admin文件夹路径中。
这样,组件所需的SQL文件就都创建好了;明天,我们将对之前创建的hello.xml安装文件做针对数据库文件的相应修改。
译者:Viiiix7210
如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看官方英文文档: Developing a Model-View-Controller Component - Part 3 - Using the Database
| < Prev | Next > |
|---|
