Разработка:XMLDB — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
м
(Использование визуального редактора для создания таблиц)
Строка 18: Строка 18:
  
 
Действия, которые возможно произвести на этой странице:
 
Действия, которые возможно произвести на этой странице:
* [View Original] - посмотреть оригинальный xml-код для установки базовых таблиц freedeanceoffice. Для создания новой таблицы не понадобится.
+
* '''[View Original]''' - посмотреть оригинальный xml-код для установки базовых таблиц freedeanceoffice. Для создания новой таблицы не понадобится.
* [View Edited] - посмотреть отредактированный xml-код таблиц. Понадобится для просмотра итогового результата.
+
* '''[View Edited]''' - посмотреть отредактированный xml-код таблиц. Понадобится для просмотра итогового результата.
* [New Table] - создать новую таблицу.
+
* '''[New Table]''' - создать новую таблицу.
* [New Table From MySQL] - создать новую таблицу из уже существующей. Очень полезно, если вам нужно создать несколько однотипных таблиц в базе данных.
+
* '''[New Table From MySQL]''' - создать новую таблицу из уже существующей. Очень полезно, если вам нужно создать несколько однотипных таблиц в базе данных.
* [New Statement] - создать новое выражение. Используется для конструирования SQL-выражений.
+
* '''[New Statement]''' - создать новое выражение. Используется для конструирования SQL-выражений.
* [Back To Main] - вернуться к списку всех таблиц.
+
* '''[Back To Main]''' - вернуться к списку всех таблиц.
* [View SQL Code] - посмотреть SQL-код для создания всех таблиц.  
+
* '''[View SQL Code]''' - посмотреть SQL-код для создания всех таблиц.  
* [View PHP Code] - посмотреть PHP-код для создания всех таблиц.
+
* '''[View PHP Code]''' - посмотреть PHP-код для создания всех таблиц.
  
Выбирайте [New Table]. После этого вым отобразится диалог создания новой таблицы:
+
=== Создание таблицы ===
 +
Выбирайте '''[New Table]'''. После этого вам отобразится диалог создания новой таблицы:
  
 +
[[Изображение:xmldb_step4.jpeg]]
  
 +
Задайте имя таблицы и комментарий к ней. Имена всех создаваемых вами таблиц должны начинаться с '''block_dof_s_'''. После того, как вы это сделали, можно будет приступать к созданию полей таблицы.
 +
Возможные действия над таблицей:
 +
* '''[View Edited]''' - получить xml-код всей вашей таблицы. Самый главный пункт меню, он пригодится нам, когда создание всех полей и индексов будет закончено.
 +
* '''[New Field]''' - новое поле.
 +
* '''[New Key]''' - новый ключ.
 +
* '''[New Index]''' - новый индекс.
 +
* '''[Back]''' - вернуться назад.
 +
* '''[View SQL Code]''' - посмотреть SQL-код для создания этой таблицы.
 +
* '''[View PHP Code]''' - посмотреть PHP-код для создания этой таблицы.
 +
Обратите внимание, что в таблице уже создано одно новое поля типа int, которое обладает свойствами ''unsigned'', ''not null'' и ''auto-numbered''. Оно также является и первичным ключом таблицы.
  
К сожалению, XMLDB-редактор не видит всех таблиц freedeanceoffiсe, поэтому после создания кода таблицы нам придется скопировать xml-код вручную и вставить его в соответствующий файл.  
+
=== Создание полей ===
 +
Нажимаем '''[New Field]''', появится диалоговое окно создания поля:
 +
 
 +
[[Изображение:xmldb_step5.jpeg]]
 +
 
 +
Параметры:
 +
* ''Name:'' Имя нового поля.
 +
* ''Comment:'' Комментарий к полю. ''Примечание: в версии moodle-1.9.2 и ранее, есть баг, который не добавляет описание к полям таблицы в базе данных. Будем наедятся, что в будущих версиях это будет исправлено.''
 +
* ''Type:'' Тип значения.
 +
* ''Length:'' Длина
 +
* ''Decimals:'' количество знаков после запятой (для типа number)
 +
* ''Unsigned:'' знаковое\беззнаковое значение
 +
* ''Not Null:'' Ненулевое значение
 +
* ''Sequence:'' для поля типа int: производить ли авто-нумерацию (AUTO_INCREMENT)
 +
* ''Enum:'' Для поля типа enum: список значений через запятую. Чтобы это поле стало активным выберите в поле Type значение char.
 +
* ''Default:'' Значение по умолчанию.
 +
 
 +
Действия:
 +
* '''[View Original]''' - Посмотреть оригинальный xml-код для этого поля. Не работает для только что созданных полей.
 +
* '''[View Edited]''' - Посмотреть измененный xml-код этого поля (если вы его редактировали)
 +
* '''[Back]''' - вернуться к редактированию таблицы.
 +
 
 +
Замечания:
 +
* Для хранения всех внешних ключей используется поле типа int длины 11.
 +
* Для хранения времени используйте формат unixtime, и тип int длины 11.
 +
* После создания поля оно появится в списке полей таблицы.
 +
 
 +
=== Создание индексов ===
 +
 
 +
 
 +
=== Получение xml-кода ===
 +
К сожалению, XMLDB-редактор не видит всех таблиц freedeanceoffiсe, поэтому после создания кода таблицы нам придется скопировать xml-код вручную и вставить его в соответствующий файл.
  
 
== Создание скриптов установки ==
 
== Создание скриптов установки ==

Версия 20:32, 4 июня 2009

Общие сведения

XML DataBases - это стандартный способ описания таблиц в базе данных Moodle. Он позволяет стандартизировать процесс установки и обновления таблиц. Вся структура таблиц содержится в специальных XML-файлах.

Установочный скрипт для таких таблиц выглядит следующим образом: внутри папки с плагином создается папка db, и в нее кладется файл install.xml, описывающий таблицу, или несколько таблиц в базе данных.

Использование визуального редактора для создания таблиц

XML-файлы не требуется создавать вручную: для этого в Moodle есть специальный XMLDB-редактор. Для того чтобы использовать его вы должны обладать в системе Moodle правами администратора. В панели управления выберите Разное->XMLDB редактор.

Xmldb step1.jpeg

Вам отобразится весь список таблиц, которые есть в Moodle. Мы будем работать только с таблицами freedeanceoffice, которые обозначены как blocks/dof/db.

Xmldb step2.jpeg

Выбирайте функцию [load] для того чтобы начать работать с таблицами. После этого строчка таблицы станет зеленой, и ссылка [edit] станет активной. Нажмите на нее. Появится диалоговое окно работы с таблицами freedeansoffise:

Xmldb step3.jpeg

Действия, которые возможно произвести на этой странице:

  • [View Original] - посмотреть оригинальный xml-код для установки базовых таблиц freedeanceoffice. Для создания новой таблицы не понадобится.
  • [View Edited] - посмотреть отредактированный xml-код таблиц. Понадобится для просмотра итогового результата.
  • [New Table] - создать новую таблицу.
  • [New Table From MySQL] - создать новую таблицу из уже существующей. Очень полезно, если вам нужно создать несколько однотипных таблиц в базе данных.
  • [New Statement] - создать новое выражение. Используется для конструирования SQL-выражений.
  • [Back To Main] - вернуться к списку всех таблиц.
  • [View SQL Code] - посмотреть SQL-код для создания всех таблиц.
  • [View PHP Code] - посмотреть PHP-код для создания всех таблиц.

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

Выбирайте [New Table]. После этого вам отобразится диалог создания новой таблицы:

Xmldb step4.jpeg

Задайте имя таблицы и комментарий к ней. Имена всех создаваемых вами таблиц должны начинаться с block_dof_s_. После того, как вы это сделали, можно будет приступать к созданию полей таблицы. Возможные действия над таблицей:

  • [View Edited] - получить xml-код всей вашей таблицы. Самый главный пункт меню, он пригодится нам, когда создание всех полей и индексов будет закончено.
  • [New Field] - новое поле.
  • [New Key] - новый ключ.
  • [New Index] - новый индекс.
  • [Back] - вернуться назад.
  • [View SQL Code] - посмотреть SQL-код для создания этой таблицы.
  • [View PHP Code] - посмотреть PHP-код для создания этой таблицы.

Обратите внимание, что в таблице уже создано одно новое поля типа int, которое обладает свойствами unsigned, not null и auto-numbered. Оно также является и первичным ключом таблицы.

Создание полей

Нажимаем [New Field], появится диалоговое окно создания поля:

Xmldb step5.jpeg

Параметры:

  • Name: Имя нового поля.
  • Comment: Комментарий к полю. Примечание: в версии moodle-1.9.2 и ранее, есть баг, который не добавляет описание к полям таблицы в базе данных. Будем наедятся, что в будущих версиях это будет исправлено.
  • Type: Тип значения.
  • Length: Длина
  • Decimals: количество знаков после запятой (для типа number)
  • Unsigned: знаковое\беззнаковое значение
  • Not Null: Ненулевое значение
  • Sequence: для поля типа int: производить ли авто-нумерацию (AUTO_INCREMENT)
  • Enum: Для поля типа enum: список значений через запятую. Чтобы это поле стало активным выберите в поле Type значение char.
  • Default: Значение по умолчанию.

Действия:

  • [View Original] - Посмотреть оригинальный xml-код для этого поля. Не работает для только что созданных полей.
  • [View Edited] - Посмотреть измененный xml-код этого поля (если вы его редактировали)
  • [Back] - вернуться к редактированию таблицы.

Замечания:

  • Для хранения всех внешних ключей используется поле типа int длины 11.
  • Для хранения времени используйте формат unixtime, и тип int длины 11.
  • После создания поля оно появится в списке полей таблицы.

Создание индексов

Получение xml-кода

К сожалению, XMLDB-редактор не видит всех таблиц freedeanceoffiсe, поэтому после создания кода таблицы нам придется скопировать xml-код вручную и вставить его в соответствующий файл.

Создание скриптов установки