Создаем компонент — пятница, 29 октября 2010-го

Создание таблиц базы данных

Просмотров: 1490

Настроение: Круто все  

В колонках звучит: The Great Wall Of China

Во-вторых таблицу назовем 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 успешно создастся. Далее  удалите компонент и посмотрите удалилась ли таблица.

 

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

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.

(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)