anton shloma. custom tables
Post on 27-Jul-2015
58 Views
Preview:
TRANSCRIPT
Кастомные таблицы в Drupal 7Модули Schema, Data, Entity Construction Kit
Антон ШломаИнженер программистshloma.a@i20.biz Группа компаний i20
Почему используют?Кастомные таблицы в Drupal 7
● Не нравится node● Не нравится taxonomy term● Вообще раздражает слово
bundle и entity● Я пишу на нативном PHP,
мне вообще не нужен Drupal
● Задумался о производительности
Зачем нужно использовать?Кастомные таблицы в Drupal 7
● Нужны быстрые запросы● Нужно временное хранилище данных● Денормализация данных● Специфичный функционал
Разные задачи - разные подходы в решении
НедостаткиКастомные таблицы в Drupal 7
● Возможно уже есть специальное решение для вашей задачи.
● Трудно дорабатывать, потеря данных.● Нет интеграции с другими модулями.● Больше времени на разработку● Проблема с переносом на другие
инстансы● Бесхозные таблицы захламляют БД.
Как создавать?Кастомные таблицы в Drupal 7
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_options]
Как создавать?Кастомные таблицы в Drupal 7
Модуль Schemafunction hook_schema() { $schema['node'] = array( 'description' => 'The base table for nodes.', 'fields' => array( 'nid' => array( 'description' => 'The primary identifier for a node.', 'type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, ), ...
...'primary key' => array('nid'), ); return $schema;}
Типы данныхDrupal 7 Schema API
type size MySQL type & size/range PostgreSQL type & size/range SQLite type
serial tiny tinyint, 1 B serial, 4 B integer
serial small smallint, 2 B serial, 4 B integer
serial medium mediumint, 3 B serial, 4 B integer
serial big bigint, 8 B bigserial, 8 B integer
serial normal int, 4 B serial, 4 B integer
int tiny tinyint, 1 B smallint, 2 B integer
int small smallint, 2 B smallint, 2 B integer
int medium mediumint, 3 B int, 4 B integer
int big bigint, 8 B bigint, 8 B integer
int normal int, 4 B int, 4 B integer
float tiny float, 4 B real, 6 digits floathttps://www.drupal.org/node/159605
Модуль DataИнтеграция кастомных таблиц
● Управление таблицами● Интеграция с модулем features● Интеграция с модулем views● Relations● Экспорт схемы● API● Хуки
Reported installs: 8,970 sites currently report using this module.Downloads: 104,410
Модуль DataИнтеграция кастомных таблиц
Модуль DataИнтеграция кастомных таблиц
Модуль DataИнтеграция кастомных таблиц
Модуль DataИнтеграция кастомных таблиц
Модуль DataИнтеграция кастомных таблиц
Модуль Entity Construction KitКастомные entity
● Управление properties● Управление fields● Редактирование, добавление● Интеграция с views● View моды● Интеграция с features● Многое другое
Reported installs: 9,756 sites currently report using this module. View usage statistics.Downloads: 136,785
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Модуль Entity Construction KitКастомные entity
Спасибо за вниманиеВопросы?
Антон ШломаИнженер программистshloma.a@i20.biz Группа компаний i20http://i20.biz
top related