Создание таблиц базы данных
Просмотров: 1490Во-вторых таблицу назовем mdo_message.
Шаг четвертый. Снова редактирование файла myboard.xml
Во втором шаге мы установили пустой компонент, сделали это лишь для того, чтобы посмотреть правильно ли мы создали файл myboard.xml. (А так же просто из любопытства). Сейчас, когда снова переходим к редактированию компонента, установленный компонент нужно удалить.
Итак редактируем инсталляционный файл (myboard.xml). Открываем в любом текстовом редакторе и ищем, в созданном нами файле, секцию
<install><queries> </queries></install>
Нам нужно, чтобы при установке компонента, в текущей (для Joomla) базе данных создалась таблица вышеописанного вида. Для этого нужно составить SQL-запрос, ограничить его обеих сторон тегами <query></query> и поместить в упомянутую выше секцию. Если вы знакомы с PHPMyAdmin, то с помощью него очень просто создать нужный запрос на создание, удаление баз данных, таблиц, записей.
Для этого создаем в PHPMyAdmin требуемую таблицу, ключевым полем таблицы будет поле id_message. После нажатия кнопки сохранить приложение создаст требуемую таблицу и покажет запрос, с помощью которого эту таблицу можно создать.
CREATE TABLE `test117`.`mdo_message` (
`id_message` INT NOT NULL AUTO_INCREMENT ,
`message` TEXT NOT NULL ,
`id_user` INT NOT NULL ,
`start_date` INT NOT NULL ,
`end_date` INT NOT NULL ,
PRIMARY KEY ( `id_message` )
) ENGINE = MYISAM
Как мы видим из запроса все поля целочисленного типа, кроме поля message.
Так же при удалении из Joomla нужно, чтобы все таблицы принадлежащие компоненту были удалены. Для этого находим секцию
<uninstall><queries> </queries></uninstall>
И вставляем следующий запрос
<query>DROP TABLE mdo_message;</query>
Данную строчку нужно вставить столько раз, сколько таблиц нужно удалить, не забывая менять имя удаляемой таблицы (mdo_message в данном случае).
Итак файл myboard.xml после наших над ним стараний выглядит так:
<?xml version="1.0" encoding="iso-8859-1"?>
<mosinstall type="component" version="4.5.2">
<name>myboard</name>
<creationDate>2.07.08</creationDate>
<author>Брикалов Константин</author>
<copyright></copyright>
<authorEmail>dapmoed@mail.ru</authorEmail>
<authorUrl>test.ex6.ru</authorUrl>
<version>1.0.0.0</version>
<description>Доска объявлений</description>
<files>
<filename>myboard.php</filename>
</files>
<images>
</images>
<install>
<queries>
<query>
CREATE TABLE `mdo_message` (
`id_message` INT NOT NULL AUTO_INCREMENT,
`message` TEXT NOT NULL ,
`id_user` INT NOT NULL ,
`start_date` INT NOT NULL ,
`end_date` INT NOT NULL ,
PRIMARY KEY ( `id_message` )
) ENGINE = MYISAM;
</query>
</queries>
</install>
<uninstall>
<queries>
<query>
DROP TABLE mdo_message;
</query>
</queries>
</uninstall>
<administration>
<menu>Наша доска</menu>
<submenu>
<menu act="view_mess"> Просмотр и удаление объявлений </menu>
</submenu>
<files>
<filename>admin.myboard.php</filename>
<filename>toolbar.myboard.php</filename>
</files>
<images>
</images>
</administration>
</mosinstall>
Теперь можно снова запаковать файлы компонента, и попробовать установить. Ели все было сделано правильно компонент установится и таблица mdo_message успешно создастся. Далее удалите компонент и посмотрите удалилась ли таблица.

Оставьте комментарий!