Блоги

Конвертирование (портирование) модулей 6.x в 7.x. Часть 4: База Данных

В части 4 переводов по конвертированию модулей drupal 6.x в 7.x. — все изменения касательно базы данных.

Конвертирование (портирование) модулей 6.x в 7.x. Часть 3: Привилегии и Доступ

Из третьей части переводов по конвертированию модулей drupal 6.x в 7.x., вы прочитаете об изменения касательно Привилегий и Доступа: что во что переименовано, что заменили чем и изменения в использовании некоторых функций.

6.x → 7.x - Меню: "page callbacks" меню и блоков должны возвращать HTML-массив и hook_page_alter()

"page callbacks" меню и блоков должны возвращать HTML-массив ("render array") вместо строки. Вы должно быть знакомы с HTML-массивами из Form API. Это массивы, которые умеет обрабатывать drupal_render().

6.x → 7.x - БД: Изменена обработка префиксов движков БД

Может потребоваться обновить движки баз данных, у которых своя обработка префиксов, из-за изменений введённых по запросу Заменить strtr() на str_replace() из-за префиксов БД.

6.x → 7.x - БД: Тип поля datetime удален в пользу типов специфичных для движков баз данных

Раньше модули могли определять схему баз дынных содержащих поля типа datetime. Поддержка типа datetime убрана из ядра, так как тип datetime не поддерживается всеми движками баз данных, сделав, тем самым, тип 'datetime' ядра искусственно портативным.

6.x → 7.x - БД: db_is_active() удалена

Уходми от db_is_active() для надлежащего перехвата исключения. В Drupal 6 и ранее, если код может работать в ситуации, когда база данных еще не доступа, можно было вызвать db_is_active(), чтобы узнать доступна ли БД. В Drupal 7 код должен просто выполнять запросы как обычно и включать в себя возможность уловить блок вокруг соответствующего раздела кода.

6.x → 7.x - БД: Из node_schema() удалена колонка "на модерации"

Из node_schema() убрали колонку модерирования, так как модерации нет еще с Drupal 5. Контриб модули должны использовать функцию hook_schema_alter(), если им нужна эта колонка.

Комментарии