@inviziblll

Как создать таблицы в базе данных для своего модуля?

Подскажите как при установке своего модуля создать нужные к нему таблицы. Как я понял это надо сделать в файле install/index.php в методе InstallDB, но не очень понятен синтаксис процесса создания, к каким классам Битрикс надо обращаться.

Как создать описание для полей таблицы со всеми параметрами и можно ли создать таблицу используя только синтаксис D7 ( так как большая часть модуля у меня написана на нем)?

В таблице надо создать такой список полей:

ID // хранит первичный ключ с автоинкриментом
ELEMENT_ID
UF_XML_ID
ELEMENT_FIELDS // хранит сериализованный массив полей элемента highload-блока
HL_FIELDS
HLID
HLNAME
  • Вопрос задан
  • 2691 просмотр
Решения вопроса 1
rpsv
@rpsv
делай либо хорошо, либо никак
Таблицы в БД создаются по старинке через SQL запрос create table. Собственно вы можете вынести создание таблиц с отдельный файл например install.sql , а в методе установки вызывать:
$sql = file_get_contents(__DIR__ .'/install.sql');
if ($sql) {
    Bitrix\Main\Application::getConnection()->query($sql);
}


Как создать описание для полей таблицы со всеми параметрами и можно ли создать таблицу используя только синтаксис D7 ( так как большая часть модуля у меня написана на нем)?

Для этого нужно создать классы DateManager (при установке их никуда копировать не нужно, их поместить нужно в lib), как именно можете почитать в документации: https://dev.1c-bitrix.ru/learning/course/index.php...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы