Middle Модули Обязательно

Установка, удаление и миграции

Процесс установки (DoInstall()) и деинсталляции (DoUninstall()) модуля управляет структурой таблиц, копированием файлов компонентов и регистрацией обработчиков событий. При удалении обязательно реализуется пошаговый диалог с запросом сохранения таблиц (savedata), предотвращающий случайную безвозвратную потерю пользовательских данных.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Метод DoInstall()
  • 2
    Метод DoUninstall()
  • 3
    Миграции базы данных

Материалы

Рекомендуем со стороны

Проверь себя

Заказчик нажал «Стереть» у модуля на проде, чтобы переустановить, и таблица заявок за два года исчезла. Что должно было быть в модуле?

Пошаговое удаление: DoUninstall() на первом шаге показывает форму через IncludeAdminFile() с флагом savedata, и UnInstallDB() не вызывает dropTable(), если администратор оставил флаг. Без этого вопроса удаление данных — один клик.

Почему registerModule() вызывают после InstallDB(), а не до?

Если SQL создания таблиц упал, модуль уже числится установленным, но базы у него нет: обработчики и агенты начнут вызываться и падать. Регистрация — последний шаг после успешного создания таблиц и копирования файлов.

Модуль стоит на трёх контурах, и в таблицу нужно добавить колонку. Почему правка install.sql не решает задачу?

install.sql выполняется один раз при установке, на уже установленных контурах он не запустится. Нужен механизм миграций с версионированием и запуском из деплоя; проверки isTableExists() и getTableFields() в коде годятся для одной-двух правок.

Что ядро делает само при удалении модуля, а что остаётся на вас?

Агентов модуля ядро удаляет автоматически. Обработчики событий, таблицы, скопированные файлы и пользовательские поля снимаете вы в UnInstallDB(), UnInstallFiles() и unRegisterEventHandler().

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти